Postgres 18 ends the case for a connection pooler
Watch it if you own the database tier.
TL;DRBuilt-in connection multiplexing lands in 18. Under ~500 clients it removes the case for PgBouncer; above that the pooler wins on failover.
- The number: 12,000 connections at 41 MB of backend memory, down from 1.7 GB on 17.
- Caveat: prepared statements still pin a backend; the win shrinks for eager ORMs.
- Migration: keep the pooler in front a week, then drop its pool size to zero.
- Postgres
- Cost control