Core conceptsbeginner

Backend / connection limit

Each client connection is served by its own backend process; max_connections caps how many can exist at once, after which new connections are refused.

What this means

Every client connection gets its own dedicated server process, and max_connections is the hard cap on how many can exist at once. Hit the cap and the next connection is simply refused. That's why a connection pooler matters, processes aren't free, so you share a limited set rather than opening one per request.

Why it matters operationally

It explains why connection pooling matters and why unbounded client concurrency turns into SQLSTATE 53300 under load.

Related errors

Where it lives in the source

src/backend/postmaster/postmaster.c

← All glossary terms · GUC reference · Error catalog