我已经审查了这个已张贴和回答的PG许可问题,我将其用作我问题的起点:https://dba.stackexchange.com/questions/117109/how-to-manage-default-privileges-for-users-users-on-a-a-database-vs-vs-schema
我如何观察:
之间的差异alter default privileges for role schma_admin
grant select, insert, delete, truncate on tables to schma_mgr;
...和...
alter default privileges for role schma_mgr -- "admin" and "mgr" are swapped
grant select, insert, delete, truncate on tables to schma_admin;
非常感谢!
在第一个语句之后,schema_admin
新创建的所有表都将自动具有授予schema_mgr
的指定特权。
因此,schema_admin
创建的每个表都将具有授予schema_mgr
的SELECT
,INSERT
,DELETE
和TRUNCATE
特权(除了将所有特权授予所有特权外)。
在第二个语句中,角色被颠倒了,因此schema_mgr
创建的表将具有授予schema_admin
的特权。
请注意,这不会影响ALTER DEFAULT PRIVILEGES
语句之前创建的表。