更新时间: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命令分割分区。分割分区同样适用于需要在现有分区表的前面/中间添加分区的情形,请参见对范围分区表分割分区。
父主题: 新增分区