存儲組管理
更新時間 2025-02-14 10:22:09
最近更新時間: 2025-02-14 10:22:09
分享文章
本文介紹如何管理存儲組,包括創建存儲組、初始化創建sharding、刪除存儲組、修改存儲組和查看存儲組相關信息。
TeleDB中存儲組將不同的dn節點組成不同的存儲組,不同的存儲組之間數據隔離。
創建存儲組
將多個dn組成一個group
--創建默認存儲組
create default node group group_name with (dn1,dn2...)
--創建普通存儲組
create node group group_name with (dn1,dn2...)初始化創建sharding
在存儲組創建sharding之后,才能創建表,插入數據
teledb=# CREATE sharding group to group default_group;
CREATE SHARDING GROUP
teledb=# clean sharding;
CLEAN SHARDING說明
- TeleDB實例創建成功后,默認會將所有dn節點組成一個默認存儲組default_group
- 如果不存在默認存儲組,則建表時需指定存儲組
- 如果沒有任何存儲組,則不允許創建表
- create sharding map創建的為主shard map, 當主shard map存在時,該命令會報錯
主shard map已經存在時,后續新增一個存儲組,需要通過下述命令創建擴展shard map
teledb=# create extension sharding group to group group2; CREATE SHARDING GROUP
刪除存儲組
drop node group group_name如果group中已經存在sharding,會拋出異常,需要先刪除sharding; 如果group中存在表等對象,刪除sharding也會失敗,需先清空所有對象。
teledb=# drop node group default_group;
ERROR: shard info exist in group:default_group groupoid:49156
-- 刪除sharding
teledb=# drop sharding in group default_group;
ERROR: node group default_group still has relations inside, please remove them first.清空表和sharding之后可正常刪除節點組
teledb=# drop table t1;
DROP TABLE
teledb=# drop sharding in group default_group;
DROP SHARDING GROUP
teledb=# drop node group default_group;
DROP NODE GROUP修改存儲組
修改存儲組只能將存儲組定義為默認存儲組,語法如下
alter node group group_name set to default;當已存在默認存儲組的情況下,此語句無法生效
teledb=# create node group group1 with (dn01);
CREATE NODE GROUP
teledb=# create node group group2 with (dn02);
CREATE NODE GROUP
teledb=# alter node group group1 set to default;
ALTER NODE GROUP
teledb=# alter node group group2 set to default;
ERROR: default group already exists, groupoid:57352查看存儲組相關信息
teledb=# select oid,* from pgxc_group;
oid | group_name | default_group | group_members
-------+------------+---------------+---------------
57353 | group2 | 0 | 16386
57352 | group1 | 1 | 16385