[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
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)

===更多相關===
 

★  樊強制作 歡迎分享  ★