我有一个RoR应用程序正在处理Postgres数据库。这在本地计算机上为本地网络客户端工作。但我想在云端添加一个镜像本地数据库的数据库。但存在一个问题,有时这里的互联网会关闭,因此本地服务可以继续工作,但云上的数据库将等待下次本地数据库连接到互联网以同步更改。
我一直在读关于同步复制的文章,但我认为在这种情况下它是行不通的。所以异步复制可以帮助你,但是哪种选择(slony,buscardo,pglogical)?
我能做到吗?
更新
如果我将异步复制与slony或bucardo一起使用,当internet不可用时,他们是否会继续尝试将更改发送到云数据库,或者他们是否会发送更改并失败而不再尝试(在这种情况下,自该事件之后,云数据库将具有不正确的数据)?
最佳答案
嗯,恐怕同步复制不是这里的选项。即使您的本地和云正在运行,同步复制也会由于网络延迟而减慢本地数据库的速度。唯一的选择是异步复制,在断开internet连接的情况下,您必须等待云数据库赶上本地数据库。