PostgreSQL + haproxy with multiple IP

Posted April 19, 2016 9.5k views
DebianPostgreSQLHigh Availability

I have setup a postgresql cluster (with one master node and one slave/standby node) using Patroni. I want to use HA proxy in front of my cluster.
I think in this case HA proxy itself could be a single point of failure.
So to avoid this problem if I use multiple nodes for the HA proxy. Then not sure how client will handle the connection in case of failure of IP of HA proxy to which client is corrently connected.
( Or we can say how client/client_app will switch over between different available IP’s of HA proxy).

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
2 answers

In order for HAProxy to not be a single point of failure, you could use a Floating IP. With the help of keepalived, you can configure a set up where the IP address will automatically failover from one HAProxy server to the other. Check out this tutorial for an in depth walk through:

While that article has web servers behind the HAProxy instances instead of Postgres, there shouldn’t be any difference in the configuration for keepalived.

by Justin Ellingwood
High availability is a function of system design that allows an application to automatically restart or reroute work to another capable system in the event of a failure. In terms of servers, there are a few different technologies needed to set up a highly available system. ...

Could we use the DigitalOcean Load Balancer instead of HAProxy?