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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。