如何在postgres中对现有表进行分区?

use*_*321 6 postgresql postgresql-9.3

我想按日期范围对 100 万行以上的表进行分区。这通常是如何在不需要大量停机时间或冒丢失数据的风险的情况下完成的?以下是我正在考虑的策略,但欢迎提出建议:

1.现有表是主表,子表继承自它。随着时间的推移,将数据从主表移动到子表,但会有一段时间,其中一些数据在主表中,一些在子表中。

2.创建一个新的主表和子表。在子表中创建现有表中的数据副本(因此数据将驻留在两个位置)。一旦子表拥有最新数据,更改所有插入以指向新的主表并删除现有表。