使用PostgreSQL 10对现有表进行分区

时间:2018-04-11 19:06:11

标签: database postgresql partitioning database-administration

我已经浏览了一堆PostgresSQL 10分区的文档,但我仍然不清楚是否可以对现有表进行分区。大多数帖子都提到了使用PostgreSQL 9对现有表进行分区。

此外,在官方的PostgresSQL网站上https://www.postgresql.org/docs/current/static/ddl-partitioning.html,它提到了“不可能将常规表格变成分区表格,反之亦然”#。

所以,我的问题是可以在PostgreSQL 10中对现有表进行分区吗? 如果答案是肯定的,我的计划是:

  1. 创建分区
  2. 更改现有表以包含范围,以便新数据进入新分区。完成后,编写一个循环在主表上的脚本,并将数据移动到正确的分区中。
  3. 然后,截断主表并强制不能插入任何内容。
  4. 如果答案为否,我的计划是将现有表格作为第一个分区

    1. 创建新的父表和子(分区)。
    2. 执行轻型事务,将现有表重命名为分区表名,将新父级重命名为实际表名。
    3. 是否有更好的方法在PostgreSQL 10/9中对现有表进行分区?

0 个答案:

没有答案