GRANT(视图)

将视图权限授予用户角色

语法

GRANT { privilege[,...] | ALL [ PRIVILEGES ] [ EXTEND ] }
   ON [[database.]schema.]view[,...]
   TO grantee[,...]
   [ WITH GRANT OPTION ]

参数

privilege
视图具有以下有效权限:
ALL [PRIVILEGES][EXTEND]
授予同时属于授予者的所有视图权限。授予者不能授予其自身缺少的权限。

您可以使用两个可选关键字限定 ALL

  • PRIVILEGES 符合 SQL 标准。

  • EXTEND 扩展 ALL 的语义以包括 ALTER 和 DROP 权限。未限定的 ALL 会排除这两个权限。此选项可向后兼容 9.2.1 之前的 Vertica 版本中的 GRANT ALL 用法。

[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

视图
目标视图。
grantee

指定向谁授予权限,可以为以下值之一:

WITH GRANT OPTION

授予被授予者权限,以便将相同权限授予其他用户或角色的,也可以撤销它们。有关详细信息,请参阅授予权限

非超级用户需要对架构的 USAGE 权限和以下权限之一:

  • 所有者

  • 权限被授予者可以选择 (WITH GRANT OPTION) 将权限授予其他用户或角色。

示例

授予用户 Joe 对视图 ship 的所有权限。

=> CREATE VIEW ship AS SELECT * FROM public.shipping_dimension;
CREATE VIEW
=> GRANT ALL PRIVILEGES ON ship TO Joe;
GRANT PRIVILEGE

另请参阅

REVOKE(视图)