我正在使用postgresql -8.4.20哪个是JON服务器的后端,并使用用户名登录rhqadmin并连接到数据库rhq.
连接后它默认将我重定向到公共模式.现在我不想让这个用户rhqadmin在公共Schema中创建表.
所以我使用以下命令撤销公共模式的创建权限: -
Revoke Create ON SCHEMA public FROM rhqadmin;
Run Code Online (Sandbox Code Playgroud)
然后它给了我警告 -
"没有特权可以被撤销为"公共".
当我与超级用户登录postgres并从那里我撤消公共架构的'CREATE'权限为用户rhqadmin然后它没有给出任何警告并成功撤销然后我用用户登录rhqadmin并尝试在公共架构中创建表再次它允许我甚至在从超级用户撤消创建权限后创建表.
请告诉我为什么撤销权限不适用于公共架构或我犯了任何错误.
此致,
阿维纳什
您的问题是该CREATE权限未被授予rhqadmin,但PUBLIC默认情况下属于每个人所属的特殊角色.
由于PostgreSQL中的权限是附加的,因此如果允许每个人使用,则无法仅向单个用户明确禁止某些内容.
解决方案可能是:
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |