REVOKE(用户定义的扩展)
语法
REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL PRIVILEGES }
ON {
UDx‑type [[database.]schema.]function‑name( [argument‑list] )[,...]
| ALL FUNCTIONS IN SCHEMA schema[,...] }
FROM grantee[,...]
参数
-
GRANT OPTION FOR 撤销指定权限的授予选项。被授予者的当前权限不受影响。如果省略此子句,Vertica 将同时撤销授予选项和当前权限。
EXECUTE- 撤销被授予者运行指定函数的能力。
ALL [PRIVILEGES]- 撤销同时属于调用者的所有函数权限。用户无法撤销其自身没有的权限。
可选关键字
PRIVILEGES符合 SQL 标准。 -
ON UDx‑type - 指定函数的用户定义的扩展 (UDx) 类型,其中 UDx‑type 为以下几项之一:
-
FUNCTION -
AGGREGATE FUNCTION -
ANALYTIC FUNCTION -
TRANSFORM FUNCTION -
FILTER -
PARSER -
SOURCE
-
-
[database.]schema 数据库和架构。默认架构为
public。如果指定一个数据库,它必须是当前数据库。- function‑name
- 要撤销其权限的用户定义函数的名称。
-
ON ALL FUNCTIONS IN SCHEMA schema - 撤销对指定架构中所有函数的权限。
- argument-list
- 对所有多态函数都是必需的,是一个逗号分隔的函数实参列表,其中每个实参指定如下:
[argname] argtype如果过程未定义实参,请提供一个空的实参列表。
- grantee
指定其权限被撤销的用户,可以为以下用户之一:
CASCADEI如果目标被授予者具有将指定权限扩展到其他用户的授予选项,则CASCADE会指定搜索这些用户并同时撤销他们的权限。
特权
非超级用户,为以下之一:
-
目标函数的所有者
-
可以选择 (
WITH GRANT OPTION) 将这些权限扩展到其他用户的权限被授予者
示例
撤销用户 Bob 对函数 myzeroifnull 的 EXECUTE 权限:
=> REVOKE EXECUTE ON FUNCTION myzeroifnull (x INT) FROM Bob;
撤销用户 Doug 对函数 Pagerank 的所有权限:
=> REVOKE ALL ON TRANSFORM FUNCTION Pagerank (t float) FROM Doug;
撤销用户 Bob 对 zero-schema 架构中所有函数的 EXECUTE 权限:
=> REVOKE EXECUTE ON ALL FUNCTIONS IN SCHEMA zero-schema FROM Bob;
撤销用户 Bob 对 tokenize 函数的 EXECUTE 权限:
=> REVOKE EXECUTE ON TRANSFORM FUNCTION tokenize(VARCHAR) FROM Bob;
撤销用户 Alice 对 ExampleSource() 源的所有权限:
=> REVOKE ALL ON SOURCE ExampleSource() FROM Alice;