Обсуждение: ALTER ROLE ... SET in current database only
Hi, I'm trying to set a GUC for a role in the current database only - but don't know the name of the database at the time of writing code. Could be development, staging, ... I would basically like to do something like this: ALTER ROLE a IN CURRENT DATABASE SET b TO c; Although that syntax doesn't exist (yet). I think I could wrap it in a DO block and create the statement dynamically. Alternatively, I could probably INSERT INTO / UPDATE pg_db_role_setting manually? Any other ideas how to achieve this easily? Does the proposed "IN CURRENT DATABASE" syntax sound useful to anyone else? Best, Wolfgang
Wouldnt you need to connect to the database first before you can ALTER ROLE anything?
On Tue, Feb 16, 2021 at 1:25 AM Wolfgang Walther <walther@technowledgy.de> wrote:
Hi,
I'm trying to set a GUC for a role in the current database only - but
don't know the name of the database at the time of writing code. Could
be development, staging, ...
I would basically like to do something like this:
ALTER ROLE a IN CURRENT DATABASE SET b TO c;
Although that syntax doesn't exist (yet).
I think I could wrap it in a DO block and create the statement
dynamically. Alternatively, I could probably INSERT INTO / UPDATE
pg_db_role_setting manually?
Any other ideas how to achieve this easily? Does the proposed "IN
CURRENT DATABASE" syntax sound useful to anyone else?
Best,
Wolfgang
Abdul Qoyyuum Bin Haji Abdul Kadir
HP No: +673 720 8043
Abdul Qoyyuum: > Wouldnt you need to connect to the database first before you can ALTER > ROLE anything? Of course, otherwise the notion of "current database" wouldn't make sense at all. But that's only before executing the code. I am not writing and executing this code at the same time. In my case I'm seeding a postgres docker container with settings and data on first launch. The database name is passed to the container via environment variable. But, I'm sure there are other use-cases where code should be written once, but be executed in different databases. Best, Wolfgang