首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres数据库复制

Postgres数据库复制
EN

Stack Overflow用户
提问于 2016-01-23 17:46:10
回答 1查看 42关注 0票数 0

我们在我们的应用程序中使用了2个Postgres数据库。一个用于事务,另一个用于配置。我必须运行的sql查询使用来自两个数据库的数据,这是一个非常复杂的查询。

我每小时使用dblink将数据从事务数据库复制到配置数据库,使用的是基于事务条目时间戳在cron中运行的shell脚本。因此,我将所有数据都放在一个数据库(config)中,并且能够轻松地进行查询。

但是现在,如果事务在config db中被复制后被更新,我将无法跟踪它们。我在脚本中使用的查询只是根据该小时的时间戳转储事务。

例如,如果一个事务在13:30到来,那么它将在14:00通过cron作业传输,该作业将挑选时间戳为>= 13:00和<14:00的事务。但如果交易是在14:05更新的,我就没有任何线索了。

有什么变通方法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-24 22:40:06

那么,关键问题是,您如何识别更改(也删除了?)事务数据库中的行?如果答案是“我没有”,那么你就有问题了。

这听起来像是您正在尝试构建一个自定义的触发器复制系统(请查看slony/londiste/bucardo)。即使它们做的比你想要的要多,只使用一个预先构建的工具也可以减少工作量。

但是,如果您的数据库相当接近(相同的机器或良好的网络),那么可能值得测试一个Foreign Data Wrapper,以便从您的配置数据库提供对事务数据库的远程访问。这完全取决于您运行复杂查询的频率,以及需要在两个数据库之间拖动多少数据来为其提供服务。

从这里开始了解PostgreSQL Replication的详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34961947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档