добавить разделение postgres в существующую таблицу

Все примеры показывают:

CREATE TABLE ... PARTITION BY ...

Это немного смешно, потому что единственное время, когда вы будете использовать секционирование, - это когда набор данных стал слишком большим, что по определению не будет новой таблицей. Если кто-то создает новую таблицу с разбиением на разделы, я думаю, что почти любой будет критиковать это как преждевременную оптимизацию.

1 ответ

Решение

Just create a partitioned table and attach the existing table as a partition:

create table test (a int);

insert into test select generate_series(1,10);

alter table test_parent attach partition test DEFAULT;

select * from test_parent;
 a
----
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
(10 rows)

You could also rename the table. However, if you do this, you will need to re-define any views that point at the original table.

Другие вопросы по тегам