标签: postgres-11

将 x 天之前的行移至 Postgres 11 中的存档表或分区表

我想加快对包含大量旧数据的大表的查询速度。

我有一个名为post的表,其中包含日期列created_at。该表包含超过约 3100 万行和超过 30 天的约 3000 万行。

事实上,我想要这个:

  • 将超过 30 天的数据移动到post_archive表中或创建分区表。
  • 当创建的列中的值超过 30 天时,应将该行移至post_archive表或分区表。

PostgresSQL 11.15有详细具体的解决方案吗?

我的想法:

  • 解决方案1.用任何语言(例如JavaScript)创建一个cron脚本并每天运行它以将post表中的数据复制到post_archive中,然后从post表中删除数据
  • 解决方案 2. 创建一个 Postgres 函数,将数据从post表复制到分区表中,并创建一个每天调用该函数的 cron 作业

谢谢

postgresql query-optimization database-optimization database-performance postgres-11

4
推荐指数
1
解决办法
2080
查看次数