转载自:http://redsky008.iteye.com/blog/1084593
两种都是异步的。如果需要同步,至少等PostgreSQL9.1版本发布后。
尽管如此,正如你看到的异步同步,然后问自己几个问题:
- 在相同的平台下运行的主从节点使用的是同一个PostgreSQL版本吗?
- 我的从属节点只需要完成平台故障转移或只读查询吗?
- 我只需要一个从属节点吗?(多个从属节点可能消耗相同的WAL碎片,但是目前还不清楚, 在同步失败后,我怎么保持第二个从属节点同步?)
- 我希望我的主从节点完全一致(没有额外的表,没有额外的数据库,没有额外的索引)?
如果上面的回答是yes,PostgreSQL9.0中的流式复制可能是更好的选择。
然而,如果下面问题的任何一个回答是yes:
- 我的主从节点在不同的硬件平台上?
- 我希望在我的从属节点上增加一些表用于报表吗?
- 在主结点上我有多个数据库但是只希望把部分同步到从属节点上?
- 出于安全性的考虑,我希望在主从节点上的表有不同的权限?
- 我希望能够使我的主节点停止以用于硬件的维护,在这之后,希望 不用重新复制整个数据库,使主节点接替从属节点。
- 我希望从A复制到B并且让B复制到C和D?
- 无需自动DDL同步也可以活动?
Slony也许是更好的选择。
多数应用也是基于Slony的。