Member-only story
The “Too Many Connections” Problem in PostgreSQL — and the Quiet Reason It Keeps Happening
It always starts the same way.
A quiet night. A silent office. And then —
Buzz. Buzz. Buzz.
A phone lights up at 3 AM.
On-call engineer, reaches for it with the familiar mix of fear and muscle memory. The alert is short but brutal:
FATAL: sorry, too many clients alreadyUsers can’t log in. Background jobs are stuck. Dashboards time out.
If you’ve ever worked with PostgreSQL in production, this scene probably feels uncomfortably familiar.
What looks like a simple “connection limit” issue is almost never simple. Behind this tiny message is a mixture of architecture decisions, resource limits, silent assumptions, and the way PostgreSQL was designed from the beginning.
This article breaks down what really causes the error — and the practical, real-world ways teams fix it.
The Limit You Don’t Think About Until It Breaks
PostgreSQL ships with a conservative default:
max_connections = 100