gpt4 book ai didi

postgresql - 使用自动分区创建在 PostgreSQL 11 中进行表分区?

转载 作者:行者123 更新时间:2023-11-29 13:09:25 24 4
gpt4 key购买 nike

我需要维护审计表,由于更改的数量会很大,我需要一种有效的方法来处理这个问题。我想到的解决方案是在审计表中只记录更改的列,每季度或每半年将其分区到 createdon 列。

我想知道是否有像oracle的'interval partition'这样的东西?如果没有,我该如何实现?

我希望每 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 - 使用自动分区创建在 PostgreSQL 11 中进行表分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56897594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com