53300: too_many_connections
PostgreSQLO que significa?
O servidor atingiu o número máximo de conexões concorrentes permitido por max_connections; novas conexões não podem ser aceitas.
Por que acontece?
Ausência de pool de conexões ou um pool mal dimensionado, vazamentos de conexões, aplicações abrindo muitas conexões de curta duração, ou max_connections definido abaixo da carga de trabalho.
Como resolver
Identifique as origens das conexões: SELECT usename, state, COUNT(*) FROM pg_stat_activity GROUP BY 1,2. Encerre de forma direcionada as conexões de cliente ociosas há muito tempo (o encerramento em massa sem filtro afeta todas as aplicações e pools): SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state = 'idle' AND backend_type = 'client backend' AND usename = 'app_user' AND state_change < now() - interval '10 minutes' AND pid <> pg_backend_pid(). A correção real é um pool de conexões como o PgBouncer. Aumentar max_connections custa memória; prefira pooling. As conexões reservadas para superusuários mantêm o acesso administrativo disponível.