Chr*_*ian 8 postgresql privileges database-administration
我有 2 个用户。User1 是写作者,是写作角色的成员,而 User2 是“读者”角色的成员。
读者角色获得后续权限:
GRANT CONNECT ON DATABASE to reader
GRANT USAGE ON SCHEMA x TO reader
Run Code Online (Sandbox Code Playgroud)
我希望读者能够从给定的模式中读取/选择所有现有的和新的表,但使用
ALTER DEFAULT PRIVILEGES IN SCHEMA x GRANT SELECT ON TABLES TO reader;
Run Code Online (Sandbox Code Playgroud)
不起作用。用户 2 将不会获得对用户 1/写入者角色创建的新表的任何权限。
使用:
ALTER DEFAULT PRIVILEGES FOR ROLE writer IN SCHEMA x GRANT SELECT ON TABLES TO reader;
Run Code Online (Sandbox Code Playgroud)
也不行。我必须明确指出该表的所有者。为了解决这个问题我不得不使用:
ALTER DEFAULT PRIVILEGES FOR ROLE User1 IN SCHEMA x GRANT SELECT ON TABLES TO reader;
Run Code Online (Sandbox Code Playgroud)
我实际上不希望这样做,因为除了 User1 之外可能还有其他用户也会将表发布到该架构中。
我错过了什么吗?
归档时间: |
|
查看次数: |
4555 次 |
最近记录: |