REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tablename [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] REVOKE { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTION funcname ([type, ...]) [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] REVOKE { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE langname [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] REVOKE { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schemaname [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...]
オブジェクトの作成者は REVOKE を使用して、1つ以上のユーザあるいはユーザグループから、以前に与えられた権限を取り上げることができます。PUBLIC というキーワードは、暗黙的に定義された、すべてのユーザからなるグループを意味します。
個々のユーザはすべて、ユーザに直接許可された権限、ユーザが現在属しているグループに許可された権限、そして、PUBLIC に許可された権限を合わせた権限を持っていることに注意して下さい。従って、例えば、PUBLIC から SELECT 権限を取り上げることは、必ずしもそのオブジェクトに対する SELECT 権限をすべてのユーザが失うことを意味しません。直接、あるいは、グループ経由で許可されたユーザは、その権限を持ち続けます。
権限の種類の意味については、GRANT コマンドの説明を参照して下さい。
films テーブルから、public に与えた挿入権限を取り上げます。
REVOKE INSERT ON films FROM PUBLIC;
kinds ビューから、manuel に与えたすべての権限を取り上げます。
REVOKE ALL PRIVILEGES ON kinds FROM manuel;
GRANT コマンドの互換性についての注釈は、REVOKE にも当てはまります。構文の要約を以下に示します。
REVOKE [ GRANT OPTION FOR ] { SELECT | INSERT | UPDATE | DELETE | REFERENCES } ON object [ ( column [, ...] ) ] FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
user1 が user2 に WITH GRANT OPTION 権限を与え、そして、user2 が user3 に同じ権限を与えた場合、user1 はCASCADE キーワードを使用して、数珠繋ぎに権限を取り上げることができます。user1 が WITH GRANT OPTION 権限を user2 に与え、そして、user2 が user3 に同じ権限を付与した場合、user1 は RESTRICT キーワードを付けると、権限の取り上げに失敗します。