文档

新建分区

更新时间:

新建分区是指在已有的分区表上新增一个分区。本文介绍了新建分区的语法及其示例。

语法说明

CREATE TABLE [ IF NOT EXISTS ] table_name
    PARTITION OF parent_table [ (
  { column_name [ WITH OPTIONS ] [ column_constraint [ ... ] ]
    | table_constraint }
    [, ... ]
) ] { FOR VALUES partition_bound_spec | DEFAULT }
[ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS ]
[ TABLESPACE tablespace_name ]
说明

PolarDB PostgreSQL版完全兼容PostgreSQL。关于创建分区表的详细语法说明,请参考PostgreSQL文档

示例

新建分区

新建范围分区

CREATE TABLE tab_range_p1 PARTITION OF tab_range FOR VALUES FROM (minvalue) TO (100);

新建列表分区

CREATE TABLE tab_list_p1 PARTITION OF tab_list FOR VALUES IN (10, 20, 30);

新建哈希分区

CREATE TABLE tab_hash_0 PARTITION OF tab_hash FOR VALUES WITH (modulus 2, remainder 1);

新建多级分区

PolarDB PostgreSQL版在创建分区时,也可以将分区作为分区表再一次进行分区,不同的分区策略可以自由组合。

新建多级范围分区

CREATE TABLE tab_range_p1 PARTITION OF tab_range FOR VALUES FROM (minvalue) TO (100) PARTITION BY List (value);

新建多级列表分区

CREATE TABLE tab_list_p1 PARTITION OF tab_list FOR VALUES IN (10, 20, 30) PARTITION BY hash (value);

新建多级哈希分区

CREATE TABLE tab_hash_0 PARTITION OF tab_hash FOR VALUES WITH (modulus 2, remainder 1) PARTITION BY range (value);

  • 本页导读 (0)
文档反馈