PostgreSQL的复制策略[英] PostgreSQL replication strategies



现在,我们使用PostgreSQL 8.3(在Linux上)作为数据库后端到Rails Web应用程序上的Ruby.




现在,我们使用PostgreSQL WAL机制备份数据到文件系统.



有一些用于主奴隶(和Master-Multislave)方案的工具,通常是基于触发的. slony-i 已经提到过(稳定且坚固,但有点难以操作).我在Slony-我写的问题写道 /" rel =" noreferrer"> pyreplica . bah,我只是发现了 猛mm象已开放源

对于多主管有 bucardo (注意:不是那么抛光) 或商业产品 - 例如,作者:连续 cybertec .


如果您尚未,我建议您看看高可用性,负载平衡和复制 PostgreSQL手册的章节.它清楚地概述了可用的技术及其功能.


hm, bucardo 与这里的其他人相比,确实很好且稳定.它是一个基于Perl的复制系统的抛光,并支持Master-Slave和Multi-Master Replication,并具有有趣的冲突解决概念.




Right now we are using PostgreSQL 8.3 (on Linux) as a database backend to our Ruby on Rails web application.

Considering that on PostgreSQL database we actively use row level blocking and PL/PGSQL, what can we employ to secure our data -- I mean tools, packages, scripts, strategies -- to successfully replicate the database and build multi-master combination?

I will appreciate master-slave suggestions as well.

For example, if I put several application servers running Apache/Ruby to achieve higher performance and at the end deploy several database servers, is there any way to build multi-master replication in PostgreSQL?

Right now we use PostgreSQL WAL mechanism to backup data to file system.

Thanks a lot.


There are a few tools for master-slave (and master-multislave) scenarios, usually trigger-based. Slony-I has already been mentioned (is stable and solid, but a bit difficult to operate). People having problems with Slony-I wrote Londiste (by Skype team) and PyReplica. Bah, and I just spotted Mammoth has been open-sourced

For multimaster there is Bucardo (note: it is not that polished) or commercial offerings - for example by Continuent or CyberTec.


If you haven't already, I'd suggest a look at the High Availability, Load Balancing, and Replication chapter of the PostgreSQL manual. It gives a clear overview of the available techiques and their features.


Hm, Bucardo is really good and stable, in comparison to the others here. It is as polished as can be a Perl-based replication system, and supports master-slave as well as multi-master replication, with interesting conflict resolution concepts.

If you need simple master-slave rep I'd recommend Londiste, but for the multi-master needs, Bucardo is the only acceptable solution IMHO.