Latch Labs

PgBouncer connection pooling

1 min read

Running PgBouncer alongside PostgreSQL keeps connection counts sane without adding infrastructure.

Why pooling matters

PostgreSQL handles each connection as a separate OS process. 100 connections uses ~80MB just for overhead.

PgBouncer multiplexes many application connections onto a small pool of real database connections.

Setup

apt install pgbouncer

Configure /etc/pgbouncer/pgbouncer.ini with pool_mode = transaction and listen_port = 6432. Your app connects to 6432; PgBouncer talks to Postgres on 5432.