首页 > 解决方案 > 如何更改 postgresql 中的分区

问题描述

实际上我是 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;

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

PostgreSQL 版本 11

标签: postgresqldatabase-partitioningpostgresql-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

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

在线示例


推荐阅读