更新时间:2026-07-28 GMT+08:00
分享

向范围分区表新增分区

使用ALTER TABLE ADD PARTITION可以将分区添加到现有分区表的最后面,新增分区的上界值必须大于当前最后一个分区的上界值。

例如,对范围分区表range_sales新增一个分区。
gaussdb=# CREATE TABLE range_sales
(
    product_id INT4 NOT NULL,
    customer_id INT4 NOT NULL,
    time DATE, channel_id CHAR(1),
    type_id INT4,
    quantity_sold NUMERIC(3),
    amount_sold NUMERIC(10,2)
)
PARTITION BY RANGE (time)
(
    PARTITION date_202001 VALUES LESS THAN ('2020-02-01'),
    PARTITION date_202002 VALUES LESS THAN ('2020-03-01'),
    PARTITION date_202003 VALUES LESS THAN ('2020-04-01'),
    PARTITION date_202004 VALUES LESS THAN ('2020-05-01')
);
gaussdb=# CREATE TABLESPACE tb1;
gaussdb=# ALTER TABLE range_sales ADD PARTITION date_202005 VALUES LESS THAN ('2020-06-01') TABLESPACE tb1;
gaussdb=# DROP TABLE range_sales;
gaussdb=# DROP TABLESPACE tb1;

当范围分区表有MAXVALUE分区时,无法新增分区。可以使用ALTER TABLE SPLIT PARTITION命令分割分区。分割分区同样适用于需要在现有分区表的前面/中间添加分区的情形,请参见对范围分区表分割分区

相关文档