我注意到 Postgres 现在已经内置了复制,包括同步复制、流复制和其他一些变体。它甚至提供了在应用程序级别控制特定操作的同步的能力(例如,将同步用于重要的事情,如汇款,但可能不用于不太重要的事情,如用户评论等)
我正在开发一个使用 Django 1.5(即开发)的软件,并且可能需要同步复制(将进行与商业相关的交易)。
您是否认为内置工具在大多数情况下最适合这项工作,您对内置复制的一种变体与另一种变体、易用性相关、质量等有什么想法?
最后一件事;Slony 和 PGPool II 似乎非常流行(尤其是 Slony)用于复制。是否有 A)它们比内置复制更受欢迎的特定技术原因或 B)仅仅是因为很多人正在使用没有内置复制的版本,还是 C)我已经陷入困境而PG内置复制已经相当流行了?
更新(更多细节)
我只有 2 台物理服务器,它们位于同一个机架中。我的目的是提供一个从机,如果一台机器出现灾难性问题(或者甚至像双电源故障等简单的事情),它可以自动变成主机。我不介意我的客户在自动故障转移期间是否遇到停机时间,只要停机时间是几分钟左右,而不是一小时左右。
我希望零数据丢失,并愿意为此在故障转移过程中牺牲更多时间。有没有办法在不进行同步复制的情况下进行这种权衡(例如,没有写回确认或其他东西的流式日志)?
您会推荐什么策略或复制变体?