↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.

REVOKE

REVOKE — 移除访问权限

大纲

REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }
    ON [ TABLE ] object [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]

描述

REVOKE 允许一个对象的创建者从一个或多个用户或用户组回收先前授予的权限。关键字 PUBLIC 指隐式定义的组,即所有用户。

注意,任何特定用户所拥有的权限是下列权限的总和:直接授予他的权限、授予他当前所属的任何组的权限,以及授予 PUBLIC 的权限。因此,举例来说,从 PUBLIC 回收 SELECT 权限并不一定意味着所有用户都失去了对该对象的 SELECT 权限:直接拥有它或通过组拥有它的那些用户仍将拥有它。

权限类型的含义见GRANT命令的描述。

注意

使用psql的 \z 命令显示现有对象上被授予的权限。权限格式的信息另见GRANT。

示例

回收 public 在表 films 上的插入权限:

REVOKE INSERT ON films FROM PUBLIC;

回收用户 manuel 在视图 kinds 上的所有权限:

  
REVOKE ALL PRIVILEGES ON kinds FROM manuel;

兼容性

SQL92

GRANT命令的兼容性说明同样适用于 REVOKE。语法摘要是:

REVOKE [ GRANT OPTION FOR ] { SELECT | INSERT | UPDATE | DELETE | REFERENCES }
    ON object [ ( column [, ...] ) ]
    FROM { PUBLIC | username [, ...] }
    { RESTRICT | CASCADE }

如果 user1 把一个权限带 GRANT OPTION 地授予 user2,而 user2 又把它授予 user3,那么 user1 可以使用 CASCADE 关键字级联回收该权限。如果 user1 把一个权限带 GRANT OPTION 地授予 user2,而 user2 又把它授予 user3,那么当 user1 试图回收该权限时,如果指定了 RESTRICT 关键字,回收将失败。

另见

GRANT

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.