Hi all

We are using the current pgAdmin version 6.3 extensively and are super happy 
with it. Thanks a lot to everyone who is involved and works so hard on this 
product.

Recently, we wanted to delete default privileges on a schema. (Right click on 
the schema --> Properties... --> Default privileges --> klick on garbage bin 
icon). This produces the following SQL-statement:

ALTER DEFAULT PRIVILEGES IN SCHEMA <schema>
    REVOKE ALL ON TABLES FROM <user>;

This works fine if the default privileges were granted by the currently logged 
in user. As we can see in the documentation 
https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html , if 
"FOR ROLE" is omitted, the current role is assumed.
However, if the default privileges were granted by another user, this statement 
does not have any effect (because there are no default privileges to be revoked 
which were granted by the currently logged in user). In my opinion, the 
following statement is supposed to be generated:

ALTER DEFAULT PRIVILEGES FOR ROLE <original grantor> IN SCHEMA <schema>
    REVOKE ALL ON TABLES FROM <user>;


Of course we have perfectly valid workaround by just altering the statement as 
described and executing it manually. I just wanted to bring this up since it 
would be nice to be fixed.

Again, tanks for all the work you guys pour into pgAdmin.
Regards,
Alain Remund

Reply via email to