【发布时间】:2021-10-18 02:05:28
【问题描述】:
我有一个模式“test_db”和一个角色“test_user”,我想在模式“test_db”中的所有表上从“test_user”中剥离 DELETE 权限 - 如何实现这一点?如果可能的话,我不想诉诸触发器/规则。
到目前为止,我尝试将 DEFAULT PRIVILEGES 设置为该用户架构上的 postgres:我尝试了 granting 仅选择和更新或 revoking 删除 priv,但是,如果我以“test_user”身份登录,我可以从此架构中的表中删除。
这是我使用的语句:
alter default privileges for role postgres in schema test_db
revoke delete, truncate on tables from test_user;
【问题讨论】:
-
更改默认权限将更改特定用户创建的 future 表的权限,而不是现有表。
-
@Bergi 是的,我知道,谢谢,我在数据库初始化阶段这样做,所以还没有表。
-
@zizu_zaza 那么您是如何(以及扮演什么角色)创建表格的?
test_user首先是如何访问它们的?
标签: postgresql database-permissions