更新时间:2024-11-12 GMT+08:00
分享

开启/关闭一级列表分区自动扩展

使用ALTER TABLE SET PARTITIONING 可以开启/关闭一级列表分区自动扩展。

例如:

  • 开启一级列表分区表自动扩展。
    gaussdb=# CREATE TABLE list_int (c1 int, c2 int) 
    PARTITION BY LIST (c1)
    (
        PARTITION p1 VALUES (1, 2, 3),
        PARTITION p2 VALUES (4, 5, 6)
    );
    
    gaussdb=# ALTER TABLE list_int SET PARTITIONING AUTOMATIC;

    或者:

    gaussdb=# CREATE TABLE list_range (c1 int, c2 int)
    PARTITION BY LIST (c1) SUBPARTITION BY RANGE (c2)
    (
        PARTITION p1 VALUES (1, 2, 3) (
            SUBPARTITION sp11 VALUES LESS THAN (5),
            SUBPARTITION sp12 VALUES LESS THAN (10)
        ),
        PARTITION p2 VALUES (4, 5, 6) (
            SUBPARTITION sp21 VALUES LESS THAN (5),
            SUBPARTITION sp22 VALUES LESS THAN (10)
        )
    );
    
    gaussdb=# ALTER TABLE list_range SET PARTITIONING AUTOMATIC;

    开启一级列表分区自动扩展功能要求一级分区表、一级分区中不能存在分区键值为DEFAULT的分区。

  • 关闭一级列表分区表自动扩展。
    gaussdb=# ALTER TABLE list_int SET PARTITIONING MANUAL;

    或者:

    gaussdb=# ALTER TABLE list_range SET PARTITIONING MANUAL;

    清理示例:

    gaussdb=# DROP TABLE list_int;
    gaussdb=# DROP TABLE list_range;

相关文档