Postgres 按范围从 x 及以上条件分区
Postgres partition by range from x and above condition
我想知道如何对 table 进行分区,
- 从 0 到 100
- 从 100 到 200
- 200 及以上
CREATE TABLE grade_main
(
id serial not null,
g int not null
) partition by range (g);
CREATE TABLE grade_00_100 PARTITION OF grade_main FOR VALUES FROM (0) TO (100);
CREATE TABLE grade_100_200 PARTITION OF grade_main FOR VALUES FROM (100) TO (200);
-- The following returns syntax error
CREATE TABLE grade_150_all PARTITION OF grade_main FOR VALUES FROM (150);
要指定没有上限的范围,请使用
FOR VALUES FROM (150) TO (MAXVALUE)
我想知道如何对 table 进行分区,
- 从 0 到 100
- 从 100 到 200
- 200 及以上
CREATE TABLE grade_main
(
id serial not null,
g int not null
) partition by range (g);
CREATE TABLE grade_00_100 PARTITION OF grade_main FOR VALUES FROM (0) TO (100);
CREATE TABLE grade_100_200 PARTITION OF grade_main FOR VALUES FROM (100) TO (200);
-- The following returns syntax error
CREATE TABLE grade_150_all PARTITION OF grade_main FOR VALUES FROM (150);
要指定没有上限的范围,请使用
FOR VALUES FROM (150) TO (MAXVALUE)