[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 数据库 > 其它 > 正文
PostgreSQL7.0手册-用户手册-19. SQL命令-REVOKE
编译:何伟平 laser@zhengmai.com.cn (2001-04-21 22:13:18)
REVOKE
名称
REVOKE — 废除某用户或某组或所有用户访问权限. 

语法
REVOKE privilege [, ...]
    ON object [, ...]
    FROM { PUBLIC | GROUP groupname | username }
输入
privilege 
  
可能的权限是: 
SELECT 
对选定表/视图的所有列/字段的访问权限. 
INSERT 
对选定表的所有列/字段的插入数据的权限. 
UPDATE 
对选定表所有列/字段的更新权限. 
DELETE 
对选定表所有列/字段的删除权限. 
RULE 
在表/视图上定义规则的权限.(参阅 CREATE RULE)。 
ALL 
废止所有权限. 
object 
  
要废除访问的对象名.可能的对象有: 
table 
view 

sequence

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 -- 赋于一个用户的权限
     group gname=arwR -- 赋于一个组(GROUP)的权限
     =arwR -- 赋于公众(PUBLIC)的权限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 关键字废除这个权限就会失败.

(http://www.fanqiang.com)
    进入【UNIX论坛

相关文章
PostgreSQL7.0手册-用户手册-19. SQL命令-VACUUM (2001-04-21 22:16:33)
PostgreSQL7.0手册-用户手册-19. SQL命令-UPDATE (2001-04-21 22:16:12)
PostgreSQL7.0手册-用户手册-19. SQL命令-UNLISTEN (2001-04-21 22:15:44)
PostgreSQL7.0手册-用户手册-19. SQL命令-TRUNCATE (2001-04-21 22:15:24)
PostgreSQL7.0手册-用户手册-19. SQL命令-SHOW (2001-04-21 22:15:01)
PostgreSQL7.0手册-用户手册-19. SQL命令-SET (2001-04-21 22:14:42)
PostgreSQL7.0手册-用户手册-19. SQL命令-SELECT INTO (2001-04-21 22:14:19)
PostgreSQL7.0手册-用户手册-19. SQL命令-SELECT (2001-04-21 22:14:01)
PostgreSQL7.0手册-用户手册-19. SQL命令-ROLLBACK (2001-04-21 22:13:41)
PostgreSQL7.0手册-用户手册-19. SQL命令-REVOKE (2001-04-21 22:13:18)

===更多相关===
 

★  樊强制作 欢迎分享  ★