PostgreSQL 11中具有自动分区创建功能的表分区?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL 11中具有自动分区创建功能的表分区?相关的知识,希望对你有一定的参考价值。
我需要维护审计表,并且由于更改的数量将是巨大的,所以我需要一种有效的方法来解决该问题。我想到的解决方案是仅在审核表中记录更改的列,并每季度或半年在createdon
列上进行分区。
我想知道是否有甲骨文的“间隔分区”之类的东西?如果没有,我该如何实现?我希望每6个月在插入行时自动创建一个新分区。
我正在使用postgres 11作为我的数据库。
答案
我认为在这一点上,没有任何魔术配置可以使您的生活更轻松:https://www.postgresql.org/docs/11/ddl-partitioning.html
如果您要自动创建表,我认为您有两种主要的可能性:
- 验证“母亲”表中的每个数据,以查看其是否适合已存在的分区(触发,如果插入大量,可能是一个问题)
- 偶尔检查一下您是否已经拥有将来需要的分区。为此,pg_partman将是您最好的盟友。
例如,几年前,当只有声明性的机制,而没有添加pg_partman的可能性时,我做了一个分区机制。凭借每月1500万行的触发机制,它仍然可以发挥作用。
[如果您不想损害性能,尤其是如果您不知道您的系统将要增长多大,我建议您使用与a_horse_with_no_name注释相同的响应:使用pg_partman。
[如果您无法像我那样使用它,则采用两种方法之一(例如,通过crontask触发或提前创建表)。
以上是关于PostgreSQL 11中具有自动分区创建功能的表分区?的主要内容,如果未能解决你的问题,请参考以下文章