数据库镜像/ Postgres流复制

时间:2011-06-01 20:57:43

标签: postgresql streaming replication database-backups

我不是DBA;我是基于企业数据库的应用程序的主要开发人员。

我目前正在推出一些新机器来升级我们现有的企业数据库。目前我们正在运行Postgres 8.4,在我们的DR站点上有一个数据库,该数据库通过前雇员执行的一些自定义rsync工作来定期接收更新。

我们要解决的一个主要问题是两个全球办事处之间的延迟。我们在纽约有工作人员,在伦敦有工作人员。目前,伦敦的工作人员遭受了我们VPN管道的命运。我真的无法改变这种基础设施。

我想做的是转到Postgres 9并设置流式复制。奴隶将在伦敦办公室,这将减轻用户的阅读问题。我预见到的问题是写入从机(不知道PG如何处理这个问题,我的理解是从机处于只读模式)。理想情况下,写入将被发送到纽约的主人(来自伦敦的写入很少,但必要)由数据库本身发送。此外,我可以设置失败转移,使其充当热插拔备份(替换DR)。同样,所有内容都包含在Postgres配置中,没有其他代码。

这是我理想化的解决方案。我有多远?这是可能吗?

我对这个主题的广度感到有些不知所措,谷歌并没有真正帮助我。我将非常感谢一些经验丰富的DBA提供的任何建议,包括轶事,相关文档或示例。

目前我们正在使用SQLAlchemy作为数据库的主要接口,如果这是相关的。这确实意味着我们没有与Postgres联系在一起。

谢谢大家。

2 个答案:

答案 0 :(得分:10)

pgpool-II可以为您处理此问题: enter image description here

检查this example

答案 1 :(得分:2)

PostgreSQL 9文档概述了可用的选项。

http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html

如果您不介意不必写入主服务器而不是服务器,或者如果您需要,请查看任何可用的多主复制技术,您可能需要查看Slony。