【发布时间】:2021-05-30 21:19:46
【问题描述】:
我想在 PostgreSQL 数据库中创建“只读权限”(包括创建或删除表的限制)。
我的策略是创建一个具有这些权限的组,然后添加已撤销所有权限的角色。这样,只有当属于只读组时才继承权限。
我使用以下命令创建权限,但似乎角色在加入组时可以添加、删除表:
role_test_db=# REVOKE ALL ON DATABASE role_test_db FROM select_access_group;
REVOKE
role_test_db=# GRANT CONNECT ON DATABASE role_test_db TO select_access_group;
GRANT
role_test_db=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO select_access_group;
GRANT
我正在阅读documentation,似乎创建表将处于 CREATE 权限下,但我没有授予此权限。有人能解释一下为什么这个组的用户仍然可以制作表格吗?
【问题讨论】:
标签: postgresql privileges