如何在postgresql中更改分区

Gan*_*esh 3 postgresql database-partitioning postgresql-11

实际上我是 PostgreSQL 的新手。我想更改现有分区以增加范围值。例如我有以下分区

PQR_271 对于从 ('260000000') 到 ('270000000') 的值

在这里,我想将范围扩展到最大值,但我无法这样做。

我尝试了下面的解决方案

CREATE TABLE public.PQR_272 PARTITION OF public.stats_to_institution FOR VALUES FROM ('270000000') TO ('280000000');
ALTER TABLE public.PQR_272 OWNER to usr_replica;
Run Code Online (Sandbox Code Playgroud)

这里我可以增加整数值,但不能增加到最大值。有没有办法将范围设置为最大值?

PostgreSQL 版本11

小智 11

您无法更改分区的定义,但可以使用不同的定义重新附加它。

alter table stats_to_institution detach partition pqr_272;
alter table stats_to_institution attach partition pqr_272 
  for values FROM ('270000000') TO ('300000000'); --<< new upper bound
Run Code Online (Sandbox Code Playgroud)

显然,在分离和附加操作之间,该分区中的数据在主表中不可见,但数据仍然存在。

网上例子