sql grant—撤销其他用户在PostgreSQL中授予的权限



在PostgreSQL中,当超级用户授予任何权限时(例如GRANT SELECT ON TABLE table_name),只有该SU可以撤销该权限。

是否有其他超级用户可以撤销上述授权?

编辑:这是我正在运行的一个示例查询:ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema REVOKE SELECT ON TABLES FROM public CASCADE;但是,当我查看模式时,即使在刷新所有内容之后,也仍然显示上述默认特权。我用我的超级用户帐户和postgres帐户运行它,都不工作。

来自文档:

如果超级用户选择发出GRANT或REVOKE命令,则该命令将被执行,就像由受影响对象的所有者发出一样。

所以任何超级用户都可以撤销特权,即使是其他超级用户授予的。

您可以使用ALTER DEFAULT PRIVILEGES命令将初始权限(创建对象时分配的权限)设置为PostgreSQL默认权限以外的其他权限。但是,运行该命令只影响(来自文档):

将应用于将来创建的对象的权限。(它不影响分配给已经存在的对象的权限)

修改现有对象的权限需要单独的GRANT s和REVOKE s,尽管您也可以应用快捷方式,如:

{GRANT | REVOKE} [privileges] ON ALL TABLES IN SCHEMA [schema name];

相关内容

  • 没有找到相关文章

最新更新