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 |
Logical replication |
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...