Summary
Replication is very much an area where there is no "one-size fits all" solution. You need to match the solution chosen to what your specific problems and prioritization are. The main replication options break down based on what method they use to replicate and whether that replication is synchronous or not:
Program |
Replication Method |
Synchronization |
---|---|---|
WAL Shipping |
Master/Slave |
Asynchronous |
Slony |
Master/Slave |
Asynchronous |
Londiste |
Master/Slave |
Asynchronous |
Mammoth |
Master/Slave |
Asynchronous |
Bucardo |
Master/Slave or Master/Master |
Asynchronous |
Rubyrep |
Master/Slave or Master/Master |
Asynchronous |
PgCluster |
Master/Master |
Synchronous |
Postgres-XC |
Master/Master |
Synchronous |
pgpool-II |
Statement-based middleware |
Synchronous |
The main difference between the various Master/Slave solutions is how the database changes are derived.
- Hot Standby in PostgreSQL 9.0 allows running queries against the type of standby...