在两个不同的PostgreSQL数据库服务器中更新数据

时间:2019-01-08 11:07:45

标签: java postgresql database-replication

我有2个不同的应用程序(Web应用程序和桌面应用程序),数据库服务器不同,但结构相同。

无论用户在哪里插入/更新/删除记录,我都希望所有数据库中的数据相同。这对我来说是最简单的,但我认为不是最佳选择。

例如,如果我在台式机应用程序中插入一条记录,则该记录必须插入到Web应用程序服务器(“云”)中,反之亦然。

我在Web应用程序中使用Spring + Hibernate + PostgreSQL,在桌面应用程序中使用JavaFX + Hibernate + PostgreSQL。

我目前正在考虑2种选择:

  • 每次插入/删除/更新记录时,使用套接字在服务器之间发送消息。

  • 在PostgreSQL中使用触发器和外部数据包装器。我对此不太熟悉,因此我不知道我是否可以使用此选项进行操作。他们可以一起工作吗?

还有另一种选择?您认为最好的是什么?

1 个答案:

答案 0 :(得分:1)

最简单也是最好的解决方案是拥有一个中央读写数据库和几个物理复制备用数据库。

备用服务器将是主数据库的物理副本,您可以从中读取(但不能修改数据)。