You can user pgbouncer + repmgr but pgbouncer is not a load balancer.
When repmgr performs failover you can configure the property promote_command in repmgr.conf and build an script for updating the pgbouncer configuration with the new master.
Repmgr + pgpool would be very usefull when you have more than 2 nodes because pgpool does not knows how is the best candidate node for promoting to master.
Regards.
De: Robin LUCBERNET [mailto:rlucbernet@maltem.com] Enviado el: viernes, 7 de abril de 2017 11:34 a. m. Para: Lazaro Garcia; pgsql-admin@postgresql.org Asunto: RE: [ADMIN] How do you manage cluster replication and failover ?
Hey, thanks for your feedbacks.
I do not know about Patroni. I will have a look at it.
Could someone confirm me that all features of pgpool (connection pooling + automatic failover) can be achieve using pgbouncer (connection pooling) + repmgr (automatic failover) ? Is it not overkill to user repmgr + pgpool ? Am I missing something ?
Robin.
De : Lazaro Garcia <lazaro3487@gmail.com> Envoyé : vendredi 7 avril 2017 15:26:41 À : Robin LUCBERNET; pgsql-admin@postgresql.org Objet : RE: [ADMIN] How do you manage cluster replication and failover ?
You can use repmgr because it performs automatic failover, promotes a master mores closer to replica and follows other slaves to new master.
Then pgpool detects the new master promoted by repmgr.
We are currently trying to setup a multi hosts databases cluster with goals: * replication (no data-loss is "required", replication timing do not needs to be instant) * failover * load-balancing (bonus)
We tried: * synchronious replication (pgpool replication mode) + load-balancing (pgpool) : very interesing as we can theorically failover on any node at any moment. But even after several configuraation tweeks, we never succeed getting good write performance. * asynchronious replication (postgres 9.6 streaming replication) : good write performance, good replication timings (< 1 second for small transactions). We could loadbalance select requests using pgpool.
How do you manage your postgresql clusters ? Do you use pgpool ? pgbouncer ? other ? How do you manage to single access point ? usign pgpool ? pgbouncer ? Do you use streaming replication ? WAL archiving ? How do you handle to automatic failover ?