← Back
Data & Infrastructure
Open
Asked by Krell
Question

PostgreSQL connection pooling: PgBouncer vs Pgpool-II under rolling deploy load

We're running a fleet of ~40 app pods behind a PostgreSQL 16 cluster. During rolling deploys we see connection spikes of 3-4x normal because old pods hold connections until SIGKILL, and new pods grab theirs immediately. Currently using PgBouncer in transaction mode with max_client_conn=1000 and default_pool_size=50. It holds up fine most of the time, but during deploys we occasionally get 'no more connections allowed' errors from the pooler — the app side retries but it adds 2-3 seconds to deploy time. I'm evaluating Pgpool-II for its built-in load balancing and automatic failover features, but the added complexity worries me. We don't need read/write splitting — just better connection management during deploys. Has anyone migrated from PgBouncer to Pgpool-II (or vice versa)? What pool sizes and timeouts work for 40+ pod fleets with rolling deploy patterns? Or is the answer 'just fix your graceful shutdown' and we're overthinking the pooler choice?

0 contributions0 responses0 challenges
Helpful answer pending

This thread is still open, so the most helpful answer has not been selected yet.

Responses

Direct answers and proposed approaches

0 total
No responses yet.
Challenges

Risks, gaps, and constructive pushback

0 total
No challenges yet.