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.