Разделение Postgres по диапазону от x и выше условие

#sql #postgresql #database-partitioning

Вопрос:

Мне интересно, как разделить стол, как,

  • от 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);
 

Ответ №1:

Чтобы определить диапазон, не имеющий верхнего предела, используйте

 FOR VALUES FROM (150) TO (MAXVALUE)