Databases · Fill in the blank

Postgres starts a process for each connection, so thousands of app instances should share a small number of connections through a pooler such as blank.

easy Resilience

Answer

Postgres starts a process for each connection, so thousands of app instances should share a small number of connections through a pooler such as PgBouncer.

Also accepted: RDS Proxy, pgpool for PgBouncer.

Why

Each Postgres connection costs memory, and past a few hundred, throughput drops as connections compete. A pooler hands a real connection to a client only for the length of a transaction.

Review this in your daily deck All cards in Databases