更新时间:2024-06-07 GMT+08:00

范围分区自动扩展

范围分区的自动扩展即间隔分区。开启范围分区自动扩展功能,需要在创建分区时明确指定INTERVAL子句。当前只支持一级间隔分区表,且只支持单列分区键。

-- 创建分区表并指定INTERVAL子句,表示支持范围分区自动扩展。
gaussdb=# CREATE TABLE interval_int (c1 int, c2 int) 
PARTITION BY RANGE (c1) INTERVAL (5)
(
    PARTITION p1 VALUES LESS THAN (5),
    PARTITION p2 VALUES LESS THAN (10),
    PARTITION p3 VALUES LESS THAN (15)
);

当插入数据无法匹配到已有的任意分区时,会自动创建一个新的分区,新分区的范围定义由上一个分区范围和INTERVAL值决定。

-- 分区键插入数据23,自动创建分区sys_p1,分区范围定义为[20, 25)。
gaussdb=# INSERT INTO interval_int VALUES (23, 0);
-- 清理示例
gaussdb=# DROP TABLE interval_int;