Postgres分区选项现在?

时间:2017-08-06 19:09:10

标签: python postgresql

我有一个真正受益于实现分区表的任务,但我很难被撕裂,因为Postgres 10将很快推出。

  1. 如果我只是构建普通表并使用Python格式字符串处理逻辑以确保我的数据被加载到正确的表中,我可以稍后将其转换为分区吗?
  2. 我现在可以将Postgres 9.6升级到10吗?或者这是不可取的?
  3. 我应该安装像pg_partman这样的扩展吗?
  4. 我的格式字符串方法只会创建单独的表(f {server} {source} {%Y%m}),然后我想将它们组合在一起。希望我最终可以创建一个主表,但不会撕下任何东西。

1 个答案:

答案 0 :(得分:1)

现在,Pg 10分区在功能上与9.6相同,只是用更漂亮的表示法。几乎所有你可以在Pg 10中做的事情,你也可以在9.6中使用基于表继承的分区,它只是不方便。

看起来你可能还没有理解表继承用于9.6中的分区,因为你提到做大UNION s。这是不必要的,如果你进行基于继承的分区,PostgreSQL会为你做这件事。您还可以使用触发器将父表中的插入路由到子表中,尽管通过直接插入分区,应用程序可以更有效地路由您建议的元组。这也适用于PostgreSQL 10。

Pg的新内置分区尚未提供您可以通过继承获得的任何新功能,例如支持跨分区的唯一约束,引用分区表的FK等。所以&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& #39;真的没有理由等待。

只需研究如何在9.6上进行分区。

我不知道您是否可以将9.6式手动分区转换为PostgreSQL 10本机分区而无需复制数据。在邮件列表上询问或发布一个新的特定问题。

那就是说......通常当人们认为他们需要分区时,他们就不会这样做。你有多确定它值得吗?