Provided by:
manpages-zh_1.5-1_all 
NAME
REVOKE - 刪除訪問權
SYNOPSIS
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] tablename [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE dbname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION funcname ([type, ...]) [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE langname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schemaname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
DESCRIPTIONyz
REVOKE 撤銷以前賦予(別人)的權,可以是撤銷一茤峖h-
茖洏峈怍峈怳@組使用者的權。 關鍵字 PUBLIC
代表隱含定義的擁有所有使用者的組。
參閱 GRANT [grant(7)] 命令的描z獲取權類型的含義。
請注意,任何特定的使用者都將擁有直接賦予他/她的權-
,加上他/她所處的任何組, 以及再加上賦予 PUBLIC 的權-
的總和。因此,舉例來說,廢止 PUBLIC 的 SELECT 權-
並不意味著所有使用者都失去了對該對象的 SELECT 權: 那些直接得到權-
賦予的以及通過一茞梇o到權的人仍然擁有該權。
如果聲明了 GRANT OPTION FOR,那麼只是撤銷對該權-
的授權的權力,而不是撤銷該權本芋C
如果一茖洏峈怮蠾閉Y項權,並且還有授權的選項,並且還把這蚥v-
賦予了其他使用者, 那麼那些其他使用者持有的權都叫做依賴性權。 如果第一-
茖洏峈怮蠾釭瘍v或者授權選項被撤銷,而依賴性權仍然存在, 那麼如果我-
攽n明了 CASCADE,則所有依賴性權都被撤銷, 否則撤銷動作就會失敗。這-
蚖撲W的撤銷只影響那種通過一茖洏峈斻儠嶀帚瘍v, 這蚚麇囓i以通過這條
REVOKE 命令裏接馴X的使用者追蹤。 因此,如果權本-
是通過其他使用者賦予的, 那麼被影響的使用者可以有效地保留這蚥v。
NOTES`N
使用 psql(1) 的 \z 命令顯示在一茞{存對象上賦予的權。 參見 GRANT
[grant(7)] 獲取關於格式的信息。
一茖洏峈怚u能撤銷由它自己直接賦予的權。舉例來說,如果使用者 A
帶著授權選項吧一蚥v賦予了使用者 B,然後使用者 B 又賦予了使用者 C,
那麼使用者 A 不能直接將 C 的權撤銷。但是,使用者 A 可以撤銷使用者 B
的授權選項,並且使用 CASCADE 選項,這樣, 使用者 C 的權就會自動被撤銷。
如果一荈W級使用者發出一 GRANT 或者 REVOKE 命令,
那麼命令是按照以被影響的對象的所有者執行的方式執行的。因為所有權-
最終從對象所有者(可能間接通過賦權選項獲取),
超級使用者可以廢除所有權,但是這樣就n求像上掩〞漕獐邡洏 CASCADE。
EXAMPLESl
撤銷公眾在表 films 上的插入權:
REVOKE INSERT ON films FROM PUBLIC;
廢除使用者 manuel 對視圖 kinds 的所有權:
REVOKE ALL PRIVILEGES ON kinds FROM manuel;
COMPATIBILITYe性
GRANT [grant(7)] 命令的相容性信息基本上也適用於 REVOKE。語法概n是:
REVOKE [ GRANT OPTION FOR ] privileges
ON object [ ( column [, ...] ) ]
FROM { PUBLIC | username [, ...] }
{ RESTRICT | CASCADE }
標準n求 RESTRICT 或者 CASCADE 之一必須出現, 但是 PostgreSQL
假設預設是 RESTRICT。
SEE ALSO見
GRANT [grant(7)]
者
Postgresql <laser@pgsqldb.org>