我试图建立一个包含2个数据库的体系结构,比如预览和实时,它们具有完全相同的模式。用例是可以对预览数据库进行编辑,然后在审核和批准后将其推送到实时数据库。生产应用程序将从实时数据库中读取。
在没有将实时数据库关闭的情况下,将所有数据从预览数据库推送到实时数据库的最合适方法是什么?理想情况下,从预览到实时的复制将是原子事务。
我在MSSQL中使用过这种类型的设置,但我对Postgres来说还是比较新的。所以我愿意听取其他方法来设计这个(也许是Schemas?)。
编辑:使用单独数据库的主要原因是我可能需要多个目标数据库(而不仅仅是一个"直播数据库)。我也可能需要动态切换目标数据库而不改变源数据库模式。
答案 0 :(得分:0)
我认为您正在寻找的是热备用#34;这将是Postgresql的一个单独实例,可能在同一台服务器上,但通常不是,这是主服务器的近实时副本。
总的来说,这是通过将二进制事务日志从主服务器传送到备份服务器,然后重放"来完成的。他们在那里。传输日志的确切机制可能因您的要求而异。
幸运的是,关于此的文档非常好:
https://www.postgresql.org/docs/9.3/static/warm-standby.html