Database 在客户端和服务器之间同步postgres数据库

Database 在客户端和服务器之间同步postgres数据库,database,postgresql,replication,Database,Postgresql,Replication,我需要同步运行在Windows上的两个postgres数据库。它们必须相同 一方面,我有一个带有本地postgres数据库的windows应用程序。另一方面,我在Windows Server 2012上有一个带有postgres数据库的.NET web应用程序 Windows端经常脱机工作,当Windows端联机时,我需要同步这两个数据库 我应该使用什么方法?提前谢谢。双方是否都更新了数据库?做这件事没有简单的方法。人们解决这个问题的一种方法是在每一行上都有一个版本号。每次更改都会增加版本。然后

我需要同步运行在Windows上的两个postgres数据库。它们必须相同

一方面,我有一个带有本地postgres数据库的windows应用程序。另一方面,我在Windows Server 2012上有一个带有postgres数据库的.NET web应用程序

Windows端经常脱机工作,当Windows端联机时,我需要同步这两个数据库


我应该使用什么方法?提前谢谢。

双方是否都更新了数据库?做这件事没有简单的方法。人们解决这个问题的一种方法是在每一行上都有一个版本号。每次更改都会增加版本。然后你“只”需要解决碰撞问题,如果双方碰巧换了同一行。是的。理想的做法是双方同步,但现在我很乐意使用Windows到Web同步。是否有任何postgres复制方案(针对windows)可以解决我的问题?双向异步多主机是一个难题,因为两个节点在尝试同步时都可能以冲突的方式更改数据。您应该只在一个方向上进行同步,一个数据库是只读的。否则,在理解异步多主机复制、冲突处理等方面,您还有很多工作要做。对于单向同步,类似Londiste、Bucardo等应该可以。这些解决方案仅适用于基于unix的系统,对吗?我在两边都运行.NET解决方案。单向同步对我来说很好,但两边都不能是只读的。我需要一个解决方案,其中我的两个数据库应该相同,一方(客户)使用桌面应用程序运行本地数据库,另一方(Web应用程序)在另一台服务器上运行另一个数据库,该服务器接收(和修改)来自客户数据库的数据。在最坏的情况下,客户数据库只能包含他们的信息,服务器数据库只能包含来自所有客户的整合信息。您的问题可能没有现成的解决方案。