更新时间:2025-05-29 GMT+08:00
CREATE SLICEGROUP
功能描述
创建一组rangebucket表使用的分布规则,持久化在系统表gs_slicegroup中。
注意事项
- 不支持多个SLICE分片分布在同一个bucket上,创建SLICEGROUP时指定的bucketcnt需要大于等于SLICE分片数。
- 不支持单个SLICE分片分布在多个DN上,创建SLICEGROUP时单个SLICE只能指定一个DN。
- 单个SLICEGROUP申请的bucketcnt不能超过1024,SLICEGROUP是库级别的概念,同一数据库下所有SLICEGROUP申请的bucket总数不超过4096。
- 创建SLICEGROUP时,分布列类型不支持自定义类型,不支持指定字符集。
- SLICE分片定义只支持less than语法,不支持start end和reference语法。
- rangebucket表使用gs_dump导出、gs_restore导入时需要在导入前手动创建SLICEGROUP,开启审计功能时可通过审计日志查找创建语句。
语法格式
1 2 3 |
CREATE SLICEGROUP slicegroup_name DISTRIBUTE BY RANGE ( column_type [, ...] ) ( slice_less_than_item [, ...] ) BUCKETCNT bucket_cnt; |
参数说明
- slicegroup_name
将要创建的分布规则的名称,同一数据库下名称不能重复,不能与NODEGROUP名相同。
取值范围:字符串,支持字符集为小写字母(a-z)、大写字母(A-Z)、下划线(_)、数字(0~9)或美元符号($),且必须以字母或下划线开头。
- column_type
分布列类型,最多支持4个分布列。
- slice_less_than_item
使用less than语法的slice分片定义。
slice_less_than_item为: SLICE name VALUES LESS THAN ({ expression | MAXVALUE } [, ...]) [ DATANODE datanode_name ]
name 取值范围:字符串,支持字符集为小写字母(a-z)、大写字母(A-Z)、下划线(_)、数字(0~9)或美元符号($),且必须以字母或下划线开头。
- bucket_cnt
要创建的分布规则申请维护的bucket总数。
取值范围:[1,1024]
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
--创建SLICEGROUP。 gaussdb=# CREATE SLICEGROUP sg DISTRIBUTE BY RANGE(INT,CHAR(5),TIMESTAMP,TEXT) (SLICE s1 VALUES LESS THAN (1000,'3700x','2012-5-5 10:52:12','customer') DATANODE datanode3, SLICE s2 VALUES LESS THAN (1000,'3701x','2012-5-5 10:52:12','customer'), SLICE s3 VALUES LESS THAN (1000,'3702x','2012-5-5 10:52:12','customer')) bucketcnt 3; --查询SLICEGROUP。 gaussdb=# SELECT * FROM gs_slicegroup; slicename | type | strategy | bucketgroup | bucketcnt | sgroupoid | sindex | nodeid | redis_nodeid | bucket | slicecnt | contained | specified | sliceorder | boundaries | bucketversion | bucketcsn | bucketxid | distributetype -----------+------+----------+-------------+-----------+-----------+--------+--------+--------------+--------+----------+-----------+-----------+------------+-------------------------------------- -----+---------------+-----------+-----------+----------------- sg | t | r | 1 | 3 | 16394 | 0 | -1 | -1 | -1 | 3 | f | f | -1 | | | | | 23 1042 1114 25 s1 | s | r | 1 | 1 | 16394 | 0 | 2 | -1 | 2048 | -1 | f | t | 0 | {1000,3700x,"2012-5-5 10:52:12",custo mer} | | | | s2 | s | r | 1 | 1 | 16394 | 0 | 0 | -1 | 2049 | -1 | f | f | 1 | {1000,3701x,"2012-5-5 10:52:12",custo mer} | | | | s3 | s | r | 1 | 1 | 16394 | 0 | 1 | -1 | 2050 | -1 | f | f | 2 | {1000,3702x,"2012-5-5 10:52:12",custo mer} | | | | (4 rows) --删除SLICEGROUP。 gaussdb=# DROP SLICEGROUP sg; |
相关链接
父主题: C