PgBouncer
Ranked 2 of 4 database proxies by recommenders
Battle-tested pooler that cuts the connections reaching Postgres and is easy to set up. Critics say it adds complexity, and transaction pooling breaks prepared statements.
Battle-tested pooler that cuts the connections reaching Postgres and is easy to set up. Critics say it adds complexity, and transaction pooling breaks prepared statements.
56 people gave an opinion
- recommend it
- 37
- criticize it
- 19
- approval share
- 66%
Recommended in 7 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: not recommended
- April 2026: not recommended
- May 2026: not recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 37 people recommend itNeeds 10 or more, met.
- 1.9 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 7 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Battle-tested, reliable in production
“PgBouncer is also battle-tested, widely validated, and offers a (surprising) level of configurability.”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” “I've never had problems related to PgBouncer”
Comment from 11 Jun 2026 in “PgDog is funded and coming to a database near you” “which is recommended in production”
Comment from 4 Nov 2025 on Hacker News - Comment from 11 Jul 2026 in “We scaled PgBouncer to 4x throughput”
Reduces connections reaching Postgres
“they optimize for reducing the number of connections that reach Postgres, thus improving its throughput”
Comment from 22 Jul 2026 in “The startup's Postgres survival guide” “PgBouncer can multiplex the connections across all applications”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” “PG's process-per-connection architecture almost requires it”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” Easy to set up
“Hard to setup, but with the help of AI these days it's easier to configure.”
Comment from 10 Jun 2026 in “PgDog is funded and coming to a database near you” “spinning up PgBouncer is easy”
Comment from 12 Jul 2026 in “We scaled PgBouncer to 4x throughput” Works well with common stacks
“FastAPI pattern works very well with Pgbouncer, when it is in transaction pool mode.”
Comment from 23 Jul 2026 in “The startup's Postgres survival guide” “PgBouncer works great for us with Vercel Workers”
Comment from 13 Jul 2026 in “We scaled PgBouncer to 4x throughput”
What people warn about
Each mark is one comment
Adds complexity to infrastructure
“PgBouncer introduces its own problems and strictly speaking adds additional complexity to your infrastructure.”
Comment from 5 Feb 2026 in “Postgres Postmaster does not scale” “PgBouncer adds complexity.”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” “for me a dedicated connection pooler (other than what's sometimes used app-side) would just add complexity”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” - Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?”
Transaction pooling breaks prepared statements
“So something like pgBouncer together with transactional queries (no prepared statements) is still needed which has performance penalty.”
Comment from 21 Dec 2025 in “Go ahead, self-host Postgres” “transaction-level pooling interacting with the prepared statement cache is a long recurring nightmare for us at sqlalchemy”
Comment from 16 Aug 2026 in “Does anyone run Postgres without PgBouncer?” Single-threaded, bottlenecks on heavy clients
“pgbouncer runs as a single threaded service, so it ends up getting bottlenecked by some heavy clients”
Comment from 17 Aug 2026 in “Does anyone run Postgres without PgBouncer?” “it is single threaded and it is developed only re-actively”
Comment from 13 Jul 2026 in “We scaled PgBouncer to 4x throughput”
Other database proxies people recommend
The three most recommended other database proxies, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 4 database proxies, rankedWhat people said
40 of the 59 comments that mention it, newest first. Each links to the original comment.
“many use cases with Postgres require PgBouncer and Co.”
“pgbouncer runs as a single threaded service, so it ends up getting bottlenecked by some heavy clients”
“PgBouncer is also battle-tested, widely validated, and offers a (surprising) level of configurability.”
“for me a dedicated connection pooler (other than what's sometimes used app-side) would just add complexity”
“PgBouncer can multiplex the connections across all applications”
“There are valid reasons to use PgBouncer, this isn't one.”
“this algorithm automatically removes excess connections, which will get cold and get closed”
“PgBouncer adds complexity.”
“PGBouncer isn't as useful if you have seriously long-running transactions.”
“put pgbouncer transparently in front of your DB”
“Asking for trouble when one day connections exceeds.”
“PG's process-per-connection architecture almost requires it”
“What pgbouncer does is indeed core functionality.”
“absolutely necessary due to the amount of processes and various deployments”
“it's limited in how we can deploy it in a multi-tenant environment”
“transaction-level pooling interacting with the prepared statement cache is a long recurring nightmare for us at sqlalchemy”
“PgBouncer would be even more overkill and add unnecessary complexity.”
“FastAPI pattern works very well with Pgbouncer, when it is in transaction pool mode.”
“with separate pools for separate connection configs (lower/higher timeouts, reader/writer)”
“they optimize for reducing the number of connections that reach Postgres, thus improving its throughput”
“PgBouncer works great for us with Vercel Workers”
“it does one thing and does it good - transaction pooling”
“it is single threaded and it is developed only re-actively”
“spinning up PgBouncer is easy”
“it's been working really well”
“it was straightforward to make multiple pgbouncer processes on one machine”
“This article does a good job explaining it”
“I've never had problems related to PgBouncer”
“Hard to setup, but with the help of AI these days it's easier to configure.”
“there are many reasons to need something like pgbouncer”
“handle routing with pgbouncer / pgcat etc. instead”
“PgBouncer introduces its own problems and strictly speaking adds additional complexity to your infrastructure.”
“This sounds exactly like the problem tools like pgbouncer were designed to solve.”
“pgbouncer is ok even for OpenAI scale”
“Now with pgbouncer you can greatly reduce the complexity involved in managing conventionally complex read/write routing”
“So something like pgBouncer together with transactional queries (no prepared statements) is still needed which has performance penalty.”
“pgBackRest and pgBouncer are your friends.”
“You probably need to use something like pgbouncer.”
“HAProxy or PGBouncer can help when self hosting.”
“which is recommended in production”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.