返回首页

gbase数据、南大通用产品文档:GBase8s执行例程的权限

更新日期:2024年09月11日

Execute 权限使得用户能够调用例程。通过 EXECUTE 或 CALL 语句,或通过使用表达
式中的函数可能调用例程。
下列用户拥有缺省的 Execute 权限,
这使得他们能够调用例程:

在缺省情况下,任何具有 DBA 权限的用户都可执行数据库中的任何例程。

如果以限定的 CREATE DBA FUNCTION 或 CREATE DBA PROCEDURE 语句
注册该例程,则仅拥有 DBA 权限的用户对那个例程有缺省的 Execute 权限。

如果数据库不符合 ANSI,则用户 public(任何拥有 Connect 数据库权限的用户)
自动地拥有对例程的 Execute 权限,未以 DBA 关键字注册该例程。

在符合 ANSI 的数据库中,过程所有者和任何拥有 DBA 权限的用户都可执行该
例程,而无需收到附加的权限。

授予和撤销 Execute 权限
例程有下列 GRANT 和 REVOKE 要求:

DBA 可将 Execute 权限授予数据库中的任何例程,也可撤销它。

例程的创建者可授予或取消对那个特定的例程的 Execute 权限。通过包括带有
GRANT EXECUTE ON 语句的 AS grantor 子句,创建者丧失授予或撤销的能力。

如果所有者在 GRANT EXECUTE ON 语句中应用了 WITH GRANT 关键字,
则另
一用户可授予 Execute 权限。
对于下列条件,DBA 或例程所有者必须显式地将 Execute 权限授予非 DBA 用户:

以 DBA 关键字子句注册了的例程

在符合 ANSI 的数据库中的例程

不符合 ANSI 的数据库中的例程,但将 NODEFDAC 环境变量设置为 yes。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 325 -
即使数据库服务器缺省地将权限授予 public,所有者也可限制对例程的 Execute 权限。为
此,请发出 REVOKE EXECUTE ON PUBLIC 语句。DBA 和所有者仍可执行该例程,且
如果使用的话,则可将 Execute 权限授予特定的用户。
使用 COMMUTATOR 和 NEGATOR 函数的 Execute 权限
重要: 如果您显式地授予对 SPL 函数的 Execute 权限,其为 UDR 的换向函数或否定函数,
则在被授予者可使用任意函数之前,您还必须授予对换向函数或否定函数的那种权限。您不可
随同 SPL 过程指定 COMMUTATOR 或 NEGATOR 修饰符。
下列示例演示对于函数的限制授权,以及将它的否定函数限定为一组用户。假设您创建下
列否定函数对:
CREATE FUNCTION greater(y PERCENT, z PERCENT)
RETURNS BOOLEAN
NEGATOR= less(y PERCENT, z PERCENT);
. . .
CREATE FUNCTION less(y PERCENT, z PERCENT)
RETURNS BOOLEAN
NEGATOR= greater(y PERCENT, z PERCENT);
在缺省情况下,任何用户都可执行该函数和否定函数。下列函数仅允许 accounting 执行这
些函数:
REVOKE EXECUTE ON FUNCTION greater FROM PUBLIC;
REVOKE EXECUTE ON FUNCTION less FROM PUBLIC;
GRANT accounting TO mary, jim, ted;
GRANT EXECUTE ON FUNCTION greater TO accounting;
GRANT EXECUTE ON FUNCTION less TO accounting;
用户可能接收附带 WITH GRANT OPTION 授权的 Execute 权限来将 Execute 权限授予
其他用户。如果用户失去对例程的 Execute 权限,则还从通过那个用户授予了 Execute 权
限的那些用户撤销 Execute 权限。
要获取更多信息,请参阅《GBase 8s SQL 指南:语法》 中的 GRANT 和 REVOKE 语句
描述。

PG_OPERATOR 系统表存储有关操作符的信息。
名称
类型
引用
描述
oid
oid
-
行标识符
(隐含属性,
必须明确

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
796
名称
类型
引用
描述
选择)。
oprname
name
-
操作符的名称。
oprnamespace
oid
PG_NAMESPACE.oid
包含此操作符的名称空间的OI
D。
oprowner
oid
PG_AUTHID.oid
操作符所有者。
oprkind
“char”
-
b=infix =中缀(“两边”)。
l=前缀(“左边”)。
r=后缀(“右边”)。
oprcanmerge
Boolean
-
这个操作符是否支持合并连接。
t(true):表示支持合并连接。
f(false):表示不支持合并连
接。
oprcanhash
Boolean
-
这个操作符是否支持Hash 连
接。
t(true):表示支持Hash 连接。
f(false):表示不支持Hash 连
接。
oprleft
oid
PG_TYPE.oid
左操作数的类型。
oprright
oid
PG_TYPE.oid
右操作数的类型。
oprresult
oid
PG_TYPE.oid
结果类型。
oprcom
oid
PG_OPERATOR.oid
此操作符的交换符,
如果存在的
话。
oprnegate
oid
PG_OPERATOR.oid
此操作符的反转器,
如果存在的
话。
oprcode
regproc
PG_PROC.proname
实现这个操作符的函数。
oprrest
regproc
PG_PROC.proname
此操作符的约束选择性计算函
数。
oprjoin
regproc
PG_PROC.proname
此操作符的连接选择性计算函

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
797
名称
类型
引用
描述
数。

节点层SQL 执行计划界面显示在当前服务器节点上sql 正在执行的情况.
通过该功能可以查看sql 执行的具体情况,可用于分析问题.
【注】
默认情况下集群是不提供该功能的,如果用户需要在统一监控上使用
该功能需要修改集群配置文件参数_t_gcluster_monitor_optimize=1,或者登
录通过如下命令设置set global _t_gcluster_monitor_optimize=1.
用户在gnode sql 信息界面点击列表中相应一条sql 信息的sql 执行计划
列的查看链接后,默认显示如下界面:
图3.3-59 gnode 层执行计划
界面属性元素说明如下:

集群名称:显示当前执行节点所属的集群信息.

节点IP:sql 执行节点的ip 地址.

SQL:当前正在执行的sql 语句.

执行计划:当前sql 的执行情况.

刷新:刷新当前页面,重新获取该sql 的执行计划信息.

返回:退出当前页面,回到父界面.

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 167 -