postgres10分区表 - wnh5/myStudy GitHub Wiki

列表分区

CREATE TABLE list_partition_test (
    id BIGINT,
    name varchar(128),
    type int
) PARTITION BY LIST (type);

CREATE TABLE list_partition_test_p1 PARTITION OF list_partition_test FOR VALUES IN (1);
CREATE TABLE list_partition_test_p2 PARTITION OF list_partition_test FOR VALUES IN (2);
CREATE TABLE list_partition_test_p3 PARTITION OF list_partition_test FOR VALUES IN (3);
CREATE TABLE list_partition_test_p4 PARTITION OF list_partition_test FOR VALUES IN (4);

insert into list_partition_test values(1,'xxx',1);
insert into list_partition_test values(2,'yyy',1);
insert into list_partition_test values(3,'hangzhou',2);
insert into list_partition_test values(4,'yangzhou',2);

select * from list_partition_test;
select * from list_partition_test_p1;

范围分区

CREATE TABLE range_partition_test (
  id BIGINT,
  name varchar(128),
  type int
) PARTITION BY range (id);
--partition值 >=form < to
CREATE TABLE range_partition_test_p1 PARTITION OF range_partition_test FOR VALUES from (0) TO (1000);
CREATE TABLE range_partition_test_p2 PARTITION OF range_partition_test FOR VALUES from (1000) TO (2000);
CREATE TABLE range_partition_test_p3 PARTITION OF range_partition_test FOR VALUES from (2000) TO (4000);

insert INTO  range_partition_test values(0,'ddd',1);
insert INTO  range_partition_test values(10,'www.xxx.com',1);
insert INTO  range_partition_test values(1000,'ddd',1);
insert INTO  range_partition_test values(1200,'www.alipay.com',1);