这可能是一个愚蠢的问题,我敢肯定这是我的心理模型问题。
最终,我想为一个角色设置特权,以使该角色中的任何其他角色都具有对所有当前表的CRUD访问权限,并自动为该数据库永久保留所有将来的表。但是只有那些明确添加到“小组角色”的角色。
目前尚不清楚该怎么做。
答案 0 :(得分:0)
无法完全获得所需的内容,但是可以使您获得足够的距离。
使用现有表进行交易非常简单:只需撤销已在表上授予的所有特权,然后授予对您的组角色的访问权限。使这个变得容易的命令是
GRANT/REVOKE ALL
ON ALL TABLES IN SCHEMA ... TO/FROM ...;
要处理将来的表,您必须将可能创建表的用户范围限制为几个,并且每个用户都可以运行
ALTER DEFAULT PRIVILEGES FOR ROLE creating_user
GRANT ALL ON TABLES TO ...;
如果您无法枚举可以创建表的用户,则可以在每个CREATE
语句的末尾运行事件触发器。