PgBouncer - Everything, Everywhere, All At Once about this tool
PgBouncer is widely used in PostgreSQL environments. Like any connection pooler, it has clear strengths and limits, and it has been applied across a range of production patterns. Recent releases added support for protocol‑level prepared statements in transaction and statement pooling; in 2025 the project also made progress toward a multithreaded design.
In this half‑day workshop we examine how PgBouncer’s current single‑threaded event loop works and outline the proposed multithreaded approach. We’ll cover practical and experimental use cases and the configuration edges that matter in production—like scaling across cores with multiple processes on the same port via so_reuseport and peering and other interesting solutions. Attendees receive runnable examples for the key use cases as well as commented list of online resources.
Key takeaways:
- Know the trade‑offs of this connection pooler
- Prepared statements can work in transaction/statement pooling
- PgBouncer is single‑threaded today; scale across cores with multiple processes
- PgBouncer can help with HA/failover — but not alone
- A multithreaded architecture is on the horizon