SQL COMMAND · 角色与权限
REVOKE
撤销访问权限
remove access privileges
REVOKE角色与权限引入 6.4(基线)现存至 20 devel19 次语法变更
- 动词
REVOKE- 对象
—- 分组
- 角色与权限
- 引入版本
- 6.4(基线)
- 状态
- 现存
- 语法变更次数
- 19
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
REVOKE · 语法 2
REVOKE · 语法 3
REVOKE · 语法 4
REVOKE · 语法 5
REVOKE · 语法 6
REVOKE · 语法 7
REVOKE · 语法 8
REVOKE · 语法 9
REVOKE · 语法 10
REVOKE · 语法 11
REVOKE · 语法 12
REVOKE · 语法 13
REVOKE · 语法 14
REVOKE · 语法 15
role_specification
语法概要
REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) } ON [ TABLE ] table_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON { SEQUENCE sequence_name [, ...] | ALL SEQUENCES IN SCHEMA schema_name [, ...] } FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] } ON DATABASE database_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN domain_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN DATA WRAPPER fdw_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN SERVER server_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON { { FUNCTION | PROCEDURE | ROUTINE } function_name [ ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) ] [, ...] | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA schema_name [, ...] } FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE lang_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON LARGE OBJECT loid [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { SET | ALTER SYSTEM } [, ...] | ALL [ PRIVILEGES ] } ON PARAMETER configuration_parameter [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { CREATE | ALL [ PRIVILEGES ] } ON TABLESPACE tablespace_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] REVOKE [ { ADMIN | INHERIT | SET } OPTION FOR ] role_name [, ...] FROM role_specification [, ...] [ GRANTED BY role_specification ] [ CASCADE | RESTRICT ] 其中role_specification可以是: [ GROUP ] role_name | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER
描述
REVOKE 命令从一个或多个角色那里撤销先前授予的权限。关键字 PUBLIC 指的是由所有角色组成的隐式定义组。
有关各种权限类型的含义,请参见 GRANT 命令的描述。
请注意,任何特定角色实际拥有的权限,是直接授予给它的权限、授予给它当前所属任一角色的权限,以及授予给 PUBLIC 的权限之和。因此,例如,从 PUBLIC 撤销 SELECT 权限,并不一定意味着所有角色都失去了该对象上的 SELECT 权限:那些被直接授予该权限或通过其他角色获得该权限的角色仍然拥有它。类似地,从某个用户撤销 SELECT 权限,如果 PUBLIC
或其所属的其他角色仍然拥有 SELECT 权限,该用户仍可能使用 SELECT。
如果指定了 GRANT OPTION FOR,则只撤销该权限的授予选项,而不撤销权限本身。否则,权限和授予选项都会被撤销。
如果某个用户持有带授予选项的权限,并且已经将其授予其他用户,那么其他用户持有的这些权限称为依赖权限。若正在撤销第一个用户持有的该权限或其授予选项,并且存在依赖权限,则在指定 CASCADE 时这些依赖权限也会被一并撤销;否则,该撤销操作会失败。此递归撤销只影响那些通过某条可追溯到本 REVOKE 命令目标用户的用户链授予的权限。因此,如果受影响用户还通过其他用户获得了同一权限,那么他们实际上可能仍保有该权限。
在撤销某个表上的权限时,该表每一列上的对应列权限(若有)也会自动被撤销。反过来,如果某个角色已被授予表级权限,那么从单独列上撤销同一权限不会产生任何效果。
在撤销角色成员资格时,GRANT OPTION 改称为
ADMIN OPTION,但行为类似。请注意,在
PostgreSQL 16 之前的版本中,系统不会跟踪角色成员资格授权所产生的依赖权限,因此 CASCADE 对角色成员资格没有效果。现在情况已不再如此。另请注意,这种形式的命令不允许在
role_specification
中使用噪声词 GROUP。
正如可以从现有角色成员资格授权中移除 ADMIN OPTION 一样,也可以撤销 INHERIT OPTION 或 SET OPTION。这等价于将相应选项的值设为 FALSE。
注解
用户只能撤销由自己直接授予的权限。例如,如果用户 A 已将某项带授予选项的权限授予用户 B,而用户 B 又将其授予用户 C,则用户 A 不能直接从 C
撤销该权限。相反,用户 A 可以从 B 撤销授予选项,并使用
CASCADE 选项,这样该权限就会进一步从 C 撤销。再例如,如果 A 和 B 都将同一权限授予了 C,A 可以撤销自己授予的那份,但不能撤销
B 授予的那份,因此 C 实际上仍会拥有该权限。
当对象的非拥有者尝试对该对象执行 REVOKE 时,如果该用户在该对象上完全没有任何权限,命令将立即失败。只要该用户至少拥有某项权限,命令就会继续执行,但只会撤销那些该用户持有授予选项的权限。如果未持有任何授予选项,REVOKE ALL PRIVILEGES 形式会发出警告;而其他形式在该用户缺少命令中特别列出的某项权限的授予选项时,也会发出警告。(原则上,这些说明也适用于对象拥有者;但由于拥有者始终被视为持有全部授予选项,这种情况实际上不会发生。)
如果超级用户选择执行 GRANT 或 REVOKE
命令,则该命令会像由受影响对象的拥有者发出那样执行。(由于角色没有拥有者,在 GRANT 角色成员资格时,该命令会像由引导超级用户发出那样执行。)由于所有权限最终都来自对象拥有者(可能经由授予选项链间接传递),超级用户可以撤销所有权限,但如上所述,这可能需要使用 CASCADE。
REVOKE 也可以由并非受影响对象拥有者的角色执行,只要该角色是拥有该对象之角色的成员,或者是持有该对象上
WITH GRANT OPTION 权限之角色的成员。在这种情况下,该命令会视同由实际拥有该对象的角色,或持有该对象上
WITH GRANT OPTION 权限的角色发出。例如,如果表
t1 由角色 g1 拥有,而角色
u1 是 g1 的成员,那么
u1 可以撤销 t1 上那些记录为由
g1 授出的权限。这包括由 u1 以及角色
g1 的其他成员作出的授权。
如果执行 REVOKE 的角色通过多条角色成员资格路径间接持有权限,则使用哪个上层角色来执行该命令并无规定。在这种情况下,最佳做法是使用 SET ROLE 切换成你希望作为其身份执行
REVOKE 的那个具体角色。否则,可能会撤销掉并非你本意要撤销的权限,或者根本没有撤销任何权限。
有关具体权限类型以及如何检查对象权限的更多信息,请参见第 5.8 节。
示例
撤销表 films 上授予所有用户的插入权限:
REVOKE INSERT ON films FROM PUBLIC;
撤销用户 manuel 在视图 kinds 上的所有权限:
REVOKE ALL PRIVILEGES ON kinds FROM manuel;
请注意,这实际上意味着“撤销所有由我授予的权限”。
撤销用户 joe 在角色 admins 中的成员资格:
REVOKE admins FROM joe;
兼容性
GRANT 命令的兼容性注解同样适用于
REVOKE。按照标准,关键词
RESTRICT 或 CASCADE
是必需的,但 PostgreSQL 默认假定为
RESTRICT。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 19← 18正文更新
正文更新PostgreSQL 17← 16语法变化
+ { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }正文更新PostgreSQL 16← 15语法变化
+ REVOKE [ { ADMIN | INHERIT | SET } OPTION FOR ]正文更新PostgreSQL 15← 14语法变化
+ { { SET | ALTER SYSTEM } [, ...] | ALL [ PRIVILEGES ] }+ ON PARAMETER configuration_parameter [, ...]+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }PostgreSQL 14← 13语法变化
+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ | CURRENT_ROLE+ | CURRENT_USERPostgreSQL 12← 11正文更新
正文更新PostgreSQL 11← 10语法变化
+ ON { { FUNCTION | PROCEDURE | ROUTINE } function_name [ ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) ] [, ...]+ | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA schema_name [, ...] }PostgreSQL 10← 9.6语法变化
+ ON { FUNCTION function_name [ ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) ] [, ...]正文更新PostgreSQL 9.6← 9.5正文更新
正文更新PostgreSQL 9.5← 9.4语法变化
+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ FROM role_specification [, ...]+ role_name [, ...] FROM role_specification [, ...]+ [ GRANTED BY role_specification ]+ [ CASCADE | RESTRICT ]+ [ GROUP ] role_name+ | PUBLIC+ | CURRENT_USER+ | SESSION_USER− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− FROM { [ GROUP ] role_name | PUBLIC } [, ...]− role_name [, ...] FROM role_name [, ...]正文更新PostgreSQL 9.3← 9.2正文更新
正文更新PostgreSQL 9.2← 9.1语法变化
+ { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] )+ [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) }+ ON DATABASE database_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { USAGE | ALL [ PRIVILEGES ] }+ ON DOMAIN domain_name [, ...]+ REVOKE [ GRANT OPTION FOR ]+ { USAGE | ALL [ PRIVILEGES ] }+ ON TYPE type_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ ADMIN OPTION FOR ]− { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )− [, ...] | ALL [ PRIVILEGES ] ( column [, ...] ) }正文更新PostgreSQL 9.0← 8.4语法变化
+ ON { [ TABLE ] table_name [, ...]+ | ALL TABLES IN SCHEMA schema_name [, ...] }+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON [ TABLE ] table_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON { SEQUENCE sequence_name [, ...]+ | ALL SEQUENCES IN SCHEMA schema_name [, ...] }+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON DATABASE database_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON FOREIGN DATA WRAPPER fdw_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON FOREIGN SERVER server_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON { FUNCTION function_name ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) [, ...]+ | ALL FUNCTIONS IN SCHEMA schema_name [, ...] }+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON LANGUAGE lang_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { { SELECT | UPDATE } [,...] | ALL [ PRIVILEGES ] }+ ON LARGE OBJECT loid [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON SCHEMA schema_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ ON TABLESPACE tablespace_name [, ...]+ FROM { [ GROUP ] role_name | PUBLIC } [, ...]+ role_name [, ...] FROM role_name [, ...]− ON [ TABLE ] tablename [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON [ TABLE ] tablename [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON SEQUENCE sequencename [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON DATABASE dbname [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON FOREIGN DATA WRAPPER fdwname [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON FOREIGN SERVER servername [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON LANGUAGE langname [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON SCHEMA schemaname [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− ON TABLESPACE tablespacename [, ...]− FROM { [ GROUP ] rolename | PUBLIC } [, ...]− role [, ...] FROM rolename [, ...]PostgreSQL 8.4← 8.3语法变化
+ { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }+ [,...] | ALL [ PRIVILEGES ] }+ ON [ TABLE ] tablename [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )+ [,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }+ ON DATABASE dbname [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { USAGE | ALL [ PRIVILEGES ] }+ ON FOREIGN DATA WRAPPER fdwname [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { USAGE | ALL [ PRIVILEGES ] }+ ON FOREIGN SERVER servername [, ...]正文更新PostgreSQL 8.3← 8.2语法变化
+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ FROM { [ GROUP ] rolename | PUBLIC } [, ...]+ role [, ...] FROM rolename [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− FROM { username | GROUP groupname | PUBLIC } [, ...]− role [, ...] FROM username [, ...]正文更新PostgreSQL 8.2← 8.1语法变化
+ { { USAGE | SELECT | UPDATE }+ [,...] | ALL [ PRIVILEGES ] }+ ON SEQUENCE sequencename [, ...]+ FROM { username | GROUP groupname | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }− { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }PostgreSQL 8.1← 8.0语法变化
+ ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]+ REVOKE [ ADMIN OPTION FOR ]+ role [, ...] FROM username [, ...]+ [ CASCADE | RESTRICT ]− ON FUNCTION funcname ([type, ...]) [, ...]正文更新PostgreSQL 8.0← 7.4语法变化
+ REVOKE [ GRANT OPTION FOR ]+ { CREATE | ALL [ PRIVILEGES ] }+ ON TABLESPACE tablespacename [, ...]+ FROM { username | GROUP groupname | PUBLIC } [, ...]+ [ CASCADE | RESTRICT ]正文更新PostgreSQL 7.4← 7.3语法变化
+ REVOKE [ GRANT OPTION FOR ]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ [ CASCADE | RESTRICT ]+ REVOKE [ GRANT OPTION FOR ]+ [ CASCADE | RESTRICT ]正文更新PostgreSQL 7.3← 7.2语法变化
+ ON [ TABLE ] tablename [, ...]+ 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 } [, ...]− ON [ TABLE ] object [, ...]PostgreSQL 7.2← 7.1语法变化
+ REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }+ ON [ TABLE ] object [, ...]+ FROM { username | GROUP groupname | PUBLIC } [, ...]− REVOKE privilege [, ...]− FROM { PUBLIC | GROUP groupname | username }正文更新PostgreSQL 7.1← 7.0文件改名
sql-revoke.htm → sql-revoke.html
正文更新PostgreSQL 7.0← 6.5语法变化
+ FROM { PUBLIC | GROUP groupname | username }− FROM { PUBLIC | GROUP ER">gBLE> | username }正文更新PostgreSQL 6.5← 6.4语法变化
+ FROM { PUBLIC | GROUP ER">gBLE> | username }− FROM { PUBLIC | GROUP group | username }正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
GRANT | GRANT | — | 1717 次 | |
| 定义访问权限 | 现存 | |||
REVOKE | REVOKE | — | 1719 次 | |
| 撤销访问权限 | 现存 | |||
ALTER DEFAULT PRIVILEGES | ALTER | DEFAULT PRIVILEGES | 186 次 | |
| 定义默认访问权限 | 现存 | |||
CREATE GROUP | CREATE | GROUP | 198 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER GROUP | ALTER | GROUP | 144 次 | |
| 更改角色名称或成员资格 | 现存 | |||
DROP GROUP | DROP | GROUP | 8.22 次 | |
| 移除一个数据库角色 | 现存 | |||
SECURITY LABEL | SECURITY | LABEL | 126 次 | |
| 定义或更改应用于对象的安全标签 | 现存 | |||
DROP OWNED | DROP | OWNED | 142 次 | |
| 移除一个数据库角色所拥有的数据库对象 | 现存 | |||
REASSIGN OWNED | REASSIGN | OWNED | 142 次 | |
| 更改一个数据库角色所拥有的数据库对象的所有权 | 现存 | |||
CREATE POLICY | CREATE | POLICY | 142 次 | |
| 为一个表定义一条新的行级安全策略 | 现存 | |||
ALTER POLICY | ALTER | POLICY | 141 次 | |
| 更改一条行级安全策略的定义 | 现存 | |||
DROP POLICY | DROP | POLICY | 9.61 次 | |
| 从一个表中移除一条行级安全策略 | 现存 | |||
CREATE ROLE | CREATE | ROLE | 177 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER ROLE | ALTER | ROLE | 1410 次 | |
| 更改数据库角色 | 现存 | |||
DROP ROLE | DROP | ROLE | 8.21 次 | |
| 移除一个数据库角色 | 现存 | |||
SET ROLE | SET | ROLE | 9.01 次 | |
| 设置当前会话的当前用户标识符 | 现存 | |||
SET SESSION AUTHORIZATION | SET | SESSION AUTHORIZATION | 9.02 次 | |
| 设置当前会话的会话用户标识符和当前用户标识符 | 现存 | |||
CREATE USER | CREATE | USER | 1912 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER USER | ALTER | USER | 1417 次 | |
| 更改数据库角色 | 现存 | |||
DROP USER | DROP | USER | 8.23 次 | |
| 移除一个数据库角色 | 现存 | |||