pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
REVOKE — 从一个用户、一个组或所有用户回收访问权限。
REVOKEprivilege[, ...] ONobject[, ...] FROM { PUBLIC | GROUPgroupname|username}
privilege可能的权限有:
访问一个指定表/视图的所有列的权限。
向一个指定表的所有列插入数据的权限。
更新一个指定表的所有列的权限。
从一个指定表删除行的权限。
在表/视图上定义规则的权限。 (见 CREATE RULE )。
回收所有权限。
object要回收访问权限的对象的名称。 可能的对象有:
表
视图
序列
group要从中回收权限的组的名称。
username要从中回收权限的用户的名称。使用 PUBLIC 关键字 指定所有用户。
为所有用户回收指定的权限。
CHANGE成功时返回的消息。
ERROR对象不可用或不可能从一个组或用户回收权限时 返回的消息。
REVOKE 允许一个对象的创建者回收先前 授予所有用户(通过 PUBLIC)或某个用户或组的权限。
关于现有对象上权限的更多信息,请参阅 psql 的 \z 命令:
Database = lusitania
+------------------+---------------------------------------------+
| Relation | Grant/Revoke Permissions |
+------------------+---------------------------------------------+
| mytable | {"=rw","miriam=arwR","group todos=rw"} |
+------------------+---------------------------------------------+
Legend:
uname=arwR -- privileges granted to a user
group gname=arwR -- privileges granted to a GROUP
=arwR -- privileges granted to PUBLIC
r -- SELECT
w -- UPDATE/DELETE
a -- INSERT
R -- RULE
arwR -- ALL
目前,要创建一个 GROUP,你必须手动 向表 pg_group 中插入数据:
INSERT INTO pg_group VALUES ('todos');
CREATE USER miriam IN GROUP todos;
从所有用户回收表 films 上的 插入权限:
REVOKE INSERT ON films FROM PUBLIC;
回收用户 manuel 在视图 kinds 上的所有权限:
REVOKE ALL ON kinds FROM manuel;
SQL92 的 REVOKE 语法有更多回收 权限的能力,包括对表中个别列的权限:
REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( column [, ...] ) ]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
各个字段的细节请参阅 GRANT 。
REVOKE GRANT OPTION FOR privilege [, ...]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
回收一个用户把指定权限 授予其他人的权力。 各个字段的细节请参阅 GRANT 。
可能的对象有:
| [ TABLE ] 表/视图 |
| CHARACTER SET 字符集 |
| COLLATION 排序规则 |
| TRANSLATION 转换 |
| DOMAIN 域 |
如果 user1 把一个权限带 WITH GRANT OPTION 地授予 user2,而 user2 又把它授予 user3,那么 user1 可以使用 CASCADE 关键字级联回收 该权限。
如果 user1 把一个权限带 WITH GRANT OPTION 地授予 user2,而 user2 又把它授予 user3,那么当 user1 试图回收 该权限时,如果他/她指定了 RESTRICT 关键字,回收将失败。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。