GRANT(库)
例如,当您使用连接器框架服务时,您可能需要授予一个用户库的使用权限,才可以设置 UD 会话参数。有关详细信息,请参阅实施 CFS。
语法
GRANT privilege
ON LIBRARY [[database.]schema.]library[,...]
TO grantee[,...]
[ WITH GRANT OPTION ]
参数
- privilege
- 要授予的权限,为以下几项之一:
-
USAGE
:授予对指定库中函数的访问权限。 -
DROP
:授予删除被授予者创建的库的权限。 -
ALL [PRIVILEGES] [EXTEND]
:授予同时属于授予者的所有库权限。授予者不能授予其自身缺少的权限。
您可以使用两个可选关键字限定
ALL
:-
PRIVILEGES
符合 SQL 标准。 -
EXTEND
扩展ALL
的语义以包含 DROP 权限。未限定的ALL
不包括此权限。此选项可向后兼容 9.2.1 之前的 Vertica 版本中的GRANT ALL
用法。
重要
要执行库中的函数,用户还必须对它们具有单独的EXECUTE
权限,并对其各自的架构具有USAGE
权限。 -
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。- 库
- 目标库。
- grantee
指定向谁授予权限,可以为以下值之一:
WITH GRANT OPTION
授予被授予者权限,以便将相同权限授予其他用户或角色的,也可以撤销它们。有关详细信息,请参阅授予权限。
非超级用户需要对架构的 USAGE 权限和以下权限之一:
-
所有者
-
权限被授予者可以选择 (
WITH GRANT OPTION
) 将权限授予其他用户或角色。
示例
将 MyFunctions
库的 USAGE 权限授予 Fred
:
=> GRANT USAGE ON LIBRARY MyFunctions TO Fred;