返回首页

gbase数据、南大通用产品文档:GBase8cREVOKE

更新日期:2024年09月11日

功能描述
REVOKE 用于撤销一个或多个角色的权限。
注意事项
非对象所有者试图在对象上REVOKE 权限,命令按照以下规则执行:
如果授权用户没有该对象上的权限,则命令立即失败。
如果授权用户有部分权限,则只撤销那些有授权选项的权限。
如果授权用户没有授权选项,REVOKE ALL PRIVILEGES 形式将发出一个错误信息,
而对于其他形式的命令而言,
如果是命令中指定名称的权限没有相应的授权选项,
该命令将
发出一个警告。
不允许对表分区进行REVOKE 操作,对分区表进行REVOKE 操作会引起告警。
语法格式

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1216
回收指定表或视图上权限。
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES |
ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收表上指定字段权限。
REVOKE [ GRANT OPTION FOR ]
{ {{ SELECT | INSERT | UPDATE | REFERENCES | COMMENT } ( column_name
[, ...] )}[, ...]
| ALL [ PRIVILEGES ] ( column_name [, ...] ) }
ON [ TABLE ] table_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定序列上权限,LARGE 字段属性可选,回收语句不区分序列是否为LARGE。
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | UPDATE | ALTER | DROP | COMMENT }[, ...]
| ALL [ PRIVILEGES ] }
ON { [ SEQUENCE ] sequence_name [, ...]
| ALL SEQUENCES IN SCHEMA schema_name [, ...] }
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定数据库上权限。
REVOKE [ GRANT OPTION FOR ]

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1217
{ { CREATE | CONNECT | TEMPORARY | TEMP | ALTER | DROP | COMMENT }
[, ...] | ALL [ PRIVILEGES ] }
ON DATABASE database_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定域上权限。
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON DOMAIN domain_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定客户端加密主密钥上的权限。
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | DROP } [, ...] | ALL [PRIVILEGES] }
ON CLIENT_MASTER_KEYS client_master_keys_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定列加密密钥上的权限。
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | DROP } [, ...] | ALL [PRIVILEGES]}
ON COLUMN_ENCRYPTION_KEYS column_encryption_keys_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定目录上权限。
REVOKE [ GRANT OPTION FOR ]
{ { READ | WRITE | ALTER |DROP } [, ...] | ALL [ PRIVILEGES ] }

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1218
ON DIRECTORY directory_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定外部数据源上权限。
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN DATA WRAPPER fdw_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定外部服务器上权限。
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }
ON FOREIGN SERVER server_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定函数上权限。
REVOKE [ GRANT OPTION FOR ]
{ { EXECUTE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }
ON { FUNCTION {function_name ( [ {[ argmode ] [ arg_name ] arg_type} [, ...] ] )}
[, ...]
| ALL FUNCTIONS IN SCHEMA schema_name [, ...] }
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定过程语言上权限。
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1219
ON LANGUAGE lang_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定NODE GROUP 权限。
REVOKE [ GRANT OPTION FOR ]
{ {CREATE | USAGE | COMPUTE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] }
ON NODE GROUP group_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 } [, ...]
[ CASCADE | RESTRICT ];
回收指定模式上权限。
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收指定表空间上权限。
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }
ON TABLESPACE tablespace_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1220
[ CASCADE | RESTRICT ];
回收指定类型上权限。
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | ALTER | DROP | COMMENT } [, ...] | ALL [ PRIVILEGES ] }
ON TYPE type_name [, ...]
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
回收Data Source 对象上的权限。
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [PRIVILEGES] }
ON DATA SOURCE src_name [, ...]
FROM {[GROUP] role_name | PUBLIC} [, ...]
回收package 对象的权限。
REVOKE [ GRANT OPTION FOR ]
{ { EXECUTE | ALTER | DROP | COMMENT } [, ...] | ALL [PRIVILEGES] }
ON PACKAGE package_name [, ...]
FROM {[GROUP] role_name | PUBLIC} [, ...]
[ CASCADE | RESTRICT ];
按角色回收角色上的权限。
REVOKE [ ADMIN OPTION FOR ]
role_name [, ...] FROM role_name [, ...]
[ CASCADE | RESTRICT ];
回收角色上的sysadmin 权限。
REVOKE ALL { PRIVILEGES | PRIVILEGE } FROM role_name;
回收ANY 权限。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1221
REVOKE [ ADMIN OPTION FOR ]
{ CREATE ANY TABLE | ALTER ANY TABLE | DROP ANY TABLE | SELECT ANY
TABLE | INSERT ANY TABLE |
UPDATE ANY TABLE | DELETE ANY TABLE | CREATE ANY SEQUENCE |
CREATE ANY INDEX |
CREATE ANY FUNCTION | EXECUTE ANY FUNCTION | CREATE ANY
PACKAGE |
EXECUTE ANY PACKAGE | CREATE ANY TYPE } [, ...]
FROM [ GROUP ] role_name [, ...];
参数说明
关键字PUBLIC 表示一个隐式定义的拥有所有角色的组。
权限类别和参数说明,请参见GRANT 的参数说明。
任何特定角色拥有的特权包括直接授予该角色的特权、
从该角色作为其成员的角色中得
到的权限以及授予给PUBLIC 的权限。因此,从PUBLIC 收回SELECT 特权并不一定会意
味着所有角色都会失去在该对象上的SELECT 特权,那些直接被授予的或者通过另一个角
色被授予的角色仍然会拥有它。类似地,从一个用户收回SELECT 后,如果PUBLIC 仍有
SELECT 权限,该用户还是可以使用SELECT。
指定GRANT OPTION FOR 时,只撤销对该权限授权的权力,而不撤销该权限本身。
如用户A 拥有某个表的UPDATE 权限,及WITH GRANT OPTION 选项,同时A 把这
个权限赋予了用户B,则用户B 持有的权限称为依赖性权限。当用户A 持有的权限或者授
权选项被撤销时,必须声明CASCADE,将所有依赖性权限都撤销。
一个用户只能撤销由它自己直接赋予的权限。例如,如果用户A 被指定授权(WITH
ADMIN OPTION)选项,且把一个权限赋予了用户B,然后用户B 又赋予了用户C,则用
户A 不能直接将C 的权限撤销。但是,用户A 可以撤销用户B 的授权选项,并且使用
CASCADE。这样,
用户C 的权限就会自动被撤销。另外一个例子:
如果A 和B 都赋予了C

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1222
同样的权限,则A 可以撤销他自己的授权选项,但是不能撤销B 的,因此C 仍然拥有该权
限。
如果执行REVOKE 的角色持有的权限是通过多层成员关系获得的,则具体是哪个包含
的角色执行的该命令是不确定的。在这种场合下,最好的方法是使用SET ROLE 成为特定
角色,然后执行REVOKE,否则可能导致删除了不想删除的权限,或者是任何权限都没有
删除。
示例
请参考GRANT 的示例。
相关命令
GRANT

项的报警阈值。如cpu_usage 的阈值默认为80%,说明当cpu 使用率超过80%
时报警。

本章中说明了两种类型的环境变量:
特定于 GBase 8s 的环境变量
要使用 GBase 8s 产品时,设置 GBase 8s 环境变量。每个 GBase 8s 产品出版物
都会指定一些环境变量,您必须设置它们才能使用该产品。
与特定操作系统一起使用的环境变量
GBase 8s 产品依赖于某些标准操作系统环境变量的正确设置。例如:必须总是设
置 PATH 环境变量。
在 UNIX™ 环境中,可能还需要设置 TERMCAP 或 TERMINFO 环境变量才能有效
地使用某些产品。
《GBase 8s GLS 用户指南》中描述了支持非缺省语言环境的 GLS 环境变量。表 1
的环境变量列表中包含了 GLS 变量。
数据库服务器使用在初始化该数据库服务器时生效的环境变量。
onstat - g env 命令列示生效的环境设置。
提示: 特定于客户机应用程序或 SQL API 的其他环境变量可能在该产品的出版物中
说明。
重要: 在初始化数据库和创建 sysmaster 数据库时,不要在用户 gbasedbt 的主目
录(也不要在该目录的 .gbasedbt 文件中)设置任何环境变量。