11

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.

user52873
  • 121
  • 1
  • 2
  • 6

7 Answers7

12

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.

Mekk
  • 1,441
  • 10
  • 12
7

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.

Henrik Gustafsson
  • 51,180
  • 9
  • 47
  • 60
2

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.

Renato
  • 826
  • 9
  • 9
1

I though Postgres-R looked promising, however, its still in development.

It was supposedly stabilised and purported to be a potential for integration with the standard issue, but its yet to come to fruition.

Kent Fredric
  • 56,416
  • 14
  • 107
  • 150
1

Late answer but there is a new open source software for asynchronous master-master replication of PostgreSQL (also works for MySQL): rubyrep

Focus is on easy setup. Disclosure: I wrote it.

0

PGCluster looks promising - we use it in limited situations without much problems.

http://pgfoundry.org/projects/pgcluster/

Eric
  • 1,697
  • 5
  • 29
  • 39
0

You can have a look at slony.

Patryk Kordylewski
  • 1,263
  • 1
  • 7
  • 11