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