本文为您介绍Hologres中查看计算组访问Table Group权限、计算组加载Table Group、设置Table Group的主计算组等计算组Table Group授权相关命令。
注意事项
开启计算组实例需要后台配置,如需使用,请您使用实例升级或加入Hologres钉钉交流群反馈,详情请参见如何获取更多的在线支持?。
设置Table Group的主计算组后会触发计算组的重启,目前建议主Table Group都建在默认计算组里,即使用读写分离的场景。
新建Table Group时是默认在当前连接的计算组里可写入数据,非默认计算组(init__warehouse)。
查看计算组访问Table Group权限
命令格式
您可以使用如下SQL查看当前实例下所有的计算组的用户权限信息。
SELECT * FROM hologres.hg_warehouse_table_groups;
参数说明
hg_warehouse_table_groups表包含的字段信息如下:
字段
字段类型
说明
示例
warehouse_name
TEXT
计算组名称。
init_warehouse
warehouse_id
INTEGER
计算组ID,是计算组的唯一ID。
1
database_name
TEXT
数据库名称。
wh_demo
tablegroup_name
TEXT
Table Group名称。
wh_demo_tg_default
leader
BOOLEAN
该计算组是否为该Table Group的主计算组。
t
replica_count
INTEGER
Replica数。
1
计算组加载Table Group
注意事项
计算组加载了Table Group之后,才能使用计算组操作Table Group中的表。
计算组加载Table Group需要具备实例的Superuser权限。
命令格式
CALL hg_table_group_load_to_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>', <replica_count>);
参数说明
参数
类型
说明
database_name
TEXT
数据库名称。
table_group_name
TEXT
Table Group名称。
warehouse_name
TEXT
需要加载Table Group的计算组名称。
replica_count
INTEGER
Replica数量,默认值1,非必填。
使用示例
-- 为计算组warehouse_1加载数据库db1中的table_group_1,replica数为1 CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1'); -- 为计算组warehouse_1加载数据库db1中的table_group_1,replica数为2 CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1',2);
设置Table Group的主计算组(Leader Warehouse)
注意事项
只有设置为主计算组,才能对Table Group中的表做DML操作(包括写入数据等)。
一个Table Group只能有一个主计算组。
设置Table Group的主计算组需要具备实例的Superuser权限。
命令格式
CALL hg_table_group_set_leader_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
参数说明
参数
类型
说明
database_name
TEXT
数据库名称。
table_group_name
TEXT
Table Group名称。
warehouse_name
TEXT
需要设置为主计算组的名称。
计算组卸载Table Group
注意事项
计算组卸载Table Group需要具备实例的Superuser权限
不能卸载设置为Table Group的主计算组的计算组,需要先转换主计算组。
命令格式
CALL hg_table_group_unload_from_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
参数说明
参数
类型
说明
database_name
TEXT
数据库名称。
table_group_name
TEXT
Table Group名称。
warehouse_name
TEXT
需要卸载Table Group的计算组名称。
修改计算组加载Table Group的Replica数
注意事项
修改计算组加载Table Group的Replica数需要具备实例的Superuser权限。
命令格式
CALL hg_table_group_set_warehouse_replica_count ('<database_name>.<table_group_name>', <replica_count>,'<warehouse_name>');
参数说明
参数
类型
说明
database_name
TEXT
数据库名称。
table_group_name
TEXT
Table Group名称。
replica_count
INTEGER
Replica数量。
warehouse_name
TEXT
需要修改加载Table Group的Replica数的计算组名称。
计算组DML自动路由(Beta)
注意事项
只有设置为主计算组,才能对Table Group中的表做DML操作(包括写入数据等)。
一个Table Group只能有一个主计算组。
计算组DML自动路由功能要求Hologres实例版本必须为V2.2,若您的实例为V2.1或以下版本,可联系Hologres技术支持升级实例。
开启或关闭计算组DML自动路由
您可以使用如下GUC参数,控制Session级别或数据库级别计算组DML自动路由是否开启。
说明计算组DML自动路由GCU参数(hg_experimental_enable_warehouse_dml_auto_routing)默认开启。
Session级别
-- 开启计算组 DML 自动路由 SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- 关闭计算组 DML 自动路由 SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;
数据库级别
-- 开启计算组 DML 自动路由 ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = ON; -- 关闭计算组 DML 自动路由 ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;
参数说明
参数
类型
说明
database_name
TEXT
数据库名称。
使用示例
进入HoloWeb开发页面,详情请参见连接HoloWeb。
在HoloWeb开发页面顶部菜单栏,单击安全中心。
在安全中心页面,单击左侧导航栏的计算组管理。
在计算组资源管理页签,单击新增计算组,新增名称为
read_wh1
的计算组。说明每个实例最多可以创建10个计算组,每个计算组资源最小32CU,最大512CU。若您未分配的计算资源小于32 CU,将不支持新建计算组,如需扩容请参见扩容计算组计算资源。
在计算组 Table Group 授权管理页签,单击新增计算组授权,设置计算组
read_wh1
为目标Table Group的从计算组(follower)。说明新建Table Group请参见Table Group管理。
在SQL编辑器中,设置当前计算组为
read_wh1
,分别在打开或关闭计算组DML自动路由时执行DML语句。当打开计算组DML自动路由时,DML语句会自动路由到Table Group的主计算组(init_warehouse)执行。
当关闭计算组DML自动路由时,DML语句不会自动路由到Table Group的主计算组(init_warehouse)执行,而是使用当前计算组(read_wh1)执行。由于只有主计算组才能对Table Group中的表做DML操作,因此会出现报错。
- 本页导读 (1)