【发布时间】:2015-08-25 13:14:50
【问题描述】:
假设我们有一个巴士公司的数据库。
- 我们收集有关巴士行程、乘客名单、燃料等的数据。
- 我们主要处理有关即将到来的游乐设施的数据
- 有时我们需要查看历史记录(用于会计),但时间框架很短(最多 3 个月)。
- 出于明显的原因(存储浪费、查询速度慢等),我们不想将所有记录保留在我们的生产/开发服务器上。
- 我们希望有一个单独的数据库来存档整个历史记录。
- 在 PostgreSQL 上实现这一目标的最佳方法是什么?
我们正在寻找这样的东西:
- 我们想要复制生产数据库(包括结构更改、序列等)
- 我们希望从生产数据库中删除旧数据,但从复制中排除这些语句以保持存档不受影响。
例子:
- 如果巴士行程超过 3 个月,请将其从生产数据库中删除,但将其保留在存档数据库中,它已经存在。
我们目前正在研究的内容:
- 某种主/从复制(Slony?)。
- 为特定表启用 REPLICA RULE,我们使用一些时间规则修改 DELETE/UPDATE 语句(WHERE 日期
感谢您的见解。
【问题讨论】:
-
我会考虑一个Foreign Data Wrapper,它的查询按计划运行(cron 作业或类似的)。把事情简单化。这样可以减少出错或混淆的机会。
标签: database postgresql database-replication