返回首页

gbase数据、南大通用产品文档:GBase8cDROP NODE GROUP

更新日期:2024年09月11日

功能描述
删除节点组。
DROP NODE GROUP 是集群管理工具封装的接口,用来实现集群管理。只有系统管理
员或者被授予了节点组DROP 权限的用户才能执行该操作。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1119
语法格式
DROP NODE GROUP groupname [DISTRIBUTE FROM src_group_name];
参数说明

groupname
要删除的节点组名。
取值范围:已存在的节点组。

DISTRIBUTE FROM src_group_name
如果被删除的节点组是从src_group_name 逻辑集群节点组重分布过来的,删除该节点
组需要指定src_group_name,以便将重分布后的节点分布信息同步到src_group_name 指定
的逻辑集群节点组。该语句仅仅用于扩容重分布,
用户不建议直接使用,
以免导致数据分布
错误和逻辑集群不可用。
相关命令
CREATE NODE GROUP

使用 SET ROLE 语句来启用用户定义的角色的权限。此语句是对 SQL 的
ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
role
要启用的角
色的名称
必须在数据库中已存在,且必须已被授权
给用户,但不可为内建的角色。如果括在
引号之间,则 role 区分大小写。
所有者名
称;
用法
被授予角色的任何用户都可通过使用 SET ROLE 语句来启用该角色。您一次仅可
启用一个角色。如果您在已设置角色之后执行 SET ROLE 语句,则新的角色取代
旧的角色作为当前的角色。
如果用户当前不持有该角色,或如果该角色为内建的角色,则 SET ROLE 语句返
回错误。(由内建的角色持有的访问权限,诸如 EXTEND 角色或 DBSECADM
角色,总是生效,且如果用户持有那个角色,则不要求通过 SET ROLE 语句激
活。)

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1071
当 DBA 发出 GRANT DEFAULT ROLE 语句时,用户可被授予一个数据库实例
的缺省角色。如果对于当前数据库中的角色不存在缺省的角色,则缺省地分配角
色 NULL 或 NONE。在此上下文中,NULL 与 NONE 是同义词。角色 NULL
和 NONE 可没有权限。要将您的角色设置为 NULL 或 NONE,会禁用您的当前
角色。
当请您使用 SET ROLE 来启用角色时,您获得该角色的权限,除了 PUBLIC 以
及您自己的权限之外。如果将一角色授予已分配给您的另一角色,则您获得两个
角色的权限,除了 PUBLIC 的任何权限和您自己的权限之外。
在 SET ROLE 成功地执行之后,指定的角色保持有效,直到关闭当前数据库或用
户执行另一 SET ROLE 语句为止。然而,仅用户,不是角色,保持在会话期间创
建了的任何数据库对象的拥有权,比如表。
仅在当前数据库之内,角色才在作用域中。您不可使用您从角色获得的权限来访
问另一数据库中的数据。例如,如果您有来自名为 acctg 的数据库中的角色的权
限,且您在名为 acctg 和 inventory 的数据库之上执行分布式查询,则您的查询
不可访问 inventory 数据库中的数据,除非您还被授予了 inventory 数据库中的
适当的权限。作为安全预防措施,用户仅从角色持有的自主访问权限不可通过视
图或通过触发器的活动来提供对当前数据库外部的表的访问。
如果您的数据库支持显式的事务,您必须在事务的外部发出 SET ROLE 语句。如
果您的数据库符合 ANSI,则 SET ROLE 必须是新的事务的第一个语句。如果在
事务是活动的时候执行 SET ROLE 语句,则发生错误。要获取更多关于初始隐式
的事务的 SQL 语句的信息,请参阅 SET SESSION AUTHORIZATION 和事务。
如果执行 SET ROLE 语句作为触发器或 SPL 例程的一部分,且随同 WITH GRANT
OPTION 将该角色授予了触发器或 SPL 例程的所有者,则启用该角色,即使未授
予您该角色。例如,此代码片段设置角色,然后在查询之后放弃它:
EXEC SQL set role engineer;
EXEC SQL select fname, lname, project
INTO :efname, :elname, :eproject FROM projects
WHERE project_num > 100 AND lname = 'Larkin';
printf ("%s is working on %s\n", efname, eproject);
EXEC SQL set role NULL;

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1072
设置缺省的角色
DBA 或数据库的所有者可发出 GRANT DEFAULT ROLE 语句来对指定的用户列
表或对 PUBLIC 指定一现有的角色为缺省的角色。不像非缺省的角色那样,缺省
的角色不要求 SET ROLE 语句来启用它。当为用户分配缺省的角色时,将一对数
据库的隐式的连接授予该用户。
在下一示例中的三个语句中的每一个分别对角色执行下列操作之一:

声明名为 Engineer 的角色

将对 locomotives 表的 Select 权限分配给 Engineer 角色

定义 Engineer 作为用户 jgould 的缺省的角色。
EXEC SQL CREATE ROLE 'Engineer';
EXEC SQL GRANT SELECT ON locomotives TO 'Engineer';
EXEC SQL GRANT DEFAULT ROLE 'Engineer' TO jgould;
如果 jgould 随后使用 SET ROLE 语句来启用一些其他角色,则通过执行下列语
句,jgould 以 Engineer 替代那个角色作为缺省的角色:
SET ROLE DEFAULT;
如果您没有缺省的角色,则 SET ROLE DEFAULT 使得 NONE 成为您的缺省角
色,仅留下已经显式地授予了您的 username 或 PUBLIC 的那些权限。在
GRANT DEFAULT ROLE 将您的缺省角色更改为新的缺省角色之后,执行 SET
ROLE DEFAULT 恢复您最近被授予的缺省角色,即使当您连接到了数据库时此
角色不是您的缺省角色。
如果未授予 PUBLIC 一个缺省角色,但授予不同的角色作为一单个用户的缺省角
色,则单独授予的缺省角色优先,如果那个用户发出 SET ROLE DEFAULT 或连
接到数据库的话。

AIX 平台上安装GBase 8a ODBC
.......................
10