revoke

王朝百科·作者佚名  2010-03-04
窄屏简体版  字體: |||超大  

REVOKE

名称

REVOKE — 废除某用户或某组或所有用户访问权限.

REVOKE privilege [, ...]

ON object [, ...]

FROM { PUBLIC | GROUP ER">gBLE> | username }

输入

privilege

可能的权限是:

SELECT

对选定表/视图的所有列/字段的访问权限.

INSERT

对选定表的所有列/字段的插入数据的权限.

UPDATE

对选定表所有列/字段的更新权限.

DELETE

对选定表所有列/字段的删除权限.

RULE

在表/视图上定义规则的权限.(参阅 CREATE RULE)。

ALL

废止所有权限.

object

要废除访问的对象名.可能的对象有:

table

view

sequence

index

group

被废除权限的组的名称.

username

被废除权限的用户的名称.使用 PUBLIC 关键字废除所有用户.

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 里插入数据:(译注:这部分内容比较旧,目前已经有CREATE 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

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 域

如果用户1 赋予了用户2的权限带着(赋予选项) WITH GRANT OPTION ,然后用户2 给了用户3,则用户1可以使用 CASCADE 关键字废除用户2和3的权限.

如果用户1给予用户2权限带着(赋予选项)WITH GRANT OPTION,然后用户2又把它给予了用户3,则如果用户1 试图带着 RESTRICT 关键字废除这个权限就会失败.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航