gpt4 book ai didi

postgresql - 从用户撤销在公共(public)架构上创建 - 在 Postgresql 中不起作用

转载 作者:行者123 更新时间:2023-11-29 11:55:01 24 4
gpt4 key购买 nike

我正在使用 postgresql -8.4.20,它是 JON 服务器的后端,使用用户名 rhqadmin 登录并连接到数据库 rhq

连接后默认将我重定向到公共(public)架构。现在我不想让这个用户 rhqadmin 在公共(public)模式中创建表。

因此,我使用以下命令撤销对公共(public)模式的创建权限:-

Revoke Create ON SCHEMA public FROM rhqadmin;

然后它给我警告 -

"no privileges could be revoked for "public".

当我使用 super 用户 postgres 登录并从那里撤销用户 rhqadmin 的公共(public)模式的“创建”权限时,它不会发出任何警告,然后成功撤销我使用用户 rhqadmin 登录并尝试在公共(public)模式中创建表,即使在撤销 super 用户的创建权限后,它也允许我创建表。

请告诉我为什么撤销权限不适用于公共(public)架构或者我做错了什么。

问候,
阿维纳什

最佳答案

您的问题是 CREATE 权限未授予 rhqadmin,而是授予默认情况下每个人都属于的特殊角色 PUBLIC

由于 PostgreSQL 中的权限是附加的,如果每个人都允许,则无法明确禁止仅单个用户使用的权限。

解决办法大概是:

REVOKE CREATE ON SCHEMA public FROM PUBLIC;

关于postgresql - 从用户撤销在公共(public)架构上创建 - 在 Postgresql 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42949453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com