53300: too_many_connections
PostgreSQLQue signifie cette erreur ?
Le serveur a atteint le nombre maximal de connexions simultanées autorisé par max_connections ; les nouvelles connexions ne peuvent pas être acceptées.
Cause
Absence de pool de connexions ou pool mal dimensionné, fuites de connexions, applications ouvrant de nombreuses connexions de courte durée, ou max_connections défini en dessous de la charge.
Comment la corriger
Identifiez les sources de connexion : SELECT usename, state, COUNT(*) FROM pg_stat_activity GROUP BY 1,2. Terminez de manière ciblée les connexions clientes inactives depuis longtemps (une terminaison massive non filtrée affecte toutes les applications et tous les 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(). La vraie correction est un pool de connexions tel que PgBouncer. Augmenter max_connections coûte de la mémoire ; privilégiez le pooling. Les connexions réservées aux superutilisateurs maintiennent l'accès administratif disponible.