Postgres中用于范围分区的列中为NULL

时间:2019-04-22 19:20:02

标签: postgresql partitioning

在Postgres 10.6中,我有一个按范围划分的表。有没有办法告诉它的一个分区接受用作分区键的列的NULL?

我需要这个的原因是:我的表大小为200GB,实际上尚未分区。我想对它进行分区,所以我想我将创建一个包括所有当前行的初始分区,然后在每个月初为该月的数据创建另一个分区。

问题是,当前该表没有要用于分区的列,因此我想添加该列(最初为null),然后告诉该初始分区保留所有具有以下内容的行:分区键中的null

另一种选择是不将列添加为null,而是设置初始日期值,但是由于该表的大小,这将浪费时间和空间。

1 个答案:

答案 0 :(得分:1)

我将升级到v11,最初使用仅包含所有NULL值的默认分区来定义分区表。

然后,您可以添加其他分区,并通过更新NULL值逐渐移动数据。