Hi Team, I am planning to implement a PostgreSQL High Availability (HA) and Load Balancing setup and would greatly appreciate your feedback on the architecture we've designed (see attached diagram). [image: image.png]
*Overview of the Setup:* - Two PostgreSQL nodes (VM1 and VM2) configured with: - Asynchronous replication from the Primary DB (on VM1) to the Standby DB (on VM2) using repmgr - HAProxy for failover management: - HAProxy 1 (active) on VM1 - HAProxy 2 (passive) on VM2 with Keepalive for heartbeat and failover detection - PgBouncer on both nodes for connection pooling - A Virtual IP (VIP) managed by HAProxy for routing traffic from the application - Read/Write operations go to the Primary DB, and Read-Only queries can be served from either node *Objectives:* - Ensure high availability with automatic failover - Enable basic load balancing for read-only queries - Maintain connection pooling and routing efficiency *Request for Feedback:* - Is this architecture considered a best practice within the PostgreSQL community? - Are there any potential bottlenecks or failure points I should be aware of? - Would you recommend any improvements or alternative tools for achieving better reliability and performance? Thanks Vijay