在三个不同的服务器上同步三个不同的postgres数据库

时间:2017-10-03 04:24:24

标签: database postgresql synchronization

有没有办法在位于三个不同位置的三个不同服务器上同步三个不同的postgres数据库,每个服务器负责编写不同类型的数据,但每个服务器应该有另一个服务器数据?

例如: 服务器:A,B,C 数据:1,2,3。

每个服务器应该有三个数据1,2和3.

但仅限:

  • 允许更新数据的服务器1.

  • 允许更新数据2的服务器B.

  • 允许更新数据的服务器C。

但是每个服务器都应该对每个数据进行更新。

1 个答案:

答案 0 :(得分:1)

默认情况下,PostgreSQL不支持分片。但是,有一些来自Postgres源代码或一些插件的分支,它们在某种程度上支持分片(不确定是否满足您的要求)。

https://blog.dbi-services.com/sharding-with-postgresql/

解决方案1: 我的建议是在应用程序级别管理分片,例如存储以服务器1上的A-F开头的记录,服务器2上的G-Z。但是如果要一起查询所有数据,这可能不是一个好方法。

解决方案2: 如果要从差异服务器中提取数据或一起处理它们。那么在这种情况下,您应该更喜欢使用Sticky会话复制像Master-Master拓扑这样的数据。