PostgreSQL + haproxy with multiple IP

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).


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

Could we use the DigitalOcean Load Balancer instead of HAProxy?

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.