There is no single solution for your requirement. I am also looking for the same since last 3 years. Recently I got a mail from Continuent Tungsten Enterprise, they said they have the solution. This is their link http://www.continuent.com/solutions/overview/tungsten-for-postgresql
For a while now I am looking for a suitable cluster solution.
I want a multi-master solution since that would best spread the write load.
I looked into pgpool, pgcluster, cybercluster They all seem very suiotable.
I had a strong preference towards pgpool until I read in the docs that serial values aren't equal unless table-loking is enabled. > Replicating a table with SERIAL data type, the SERIAL column value may differ between the backends. This problem is avoidable by locking the table explicitly (although, > transactions' parallelism will be lost). To achieve this, however, the following change must be made:
Does anyone here have a good idea which would be best?
What I want Mutli master Failover and failback (if that makes sense for a multimaster solution...) Synchronize after downtime Load-balancing Once a client is connected it stays connected to that server (possibly through LVS)