fix(db): ne plus arrêter le serveur quand Postgres coupe une connexion

Quand la base redémarre (redéploiement, restart du conteneur) ou que le
réseau coupe, pg-pool émet 'error' pour chaque connexion inactive
interrompue. Aucun écouteur n'était branché sur le pool de server/db.ts :
Node levait l'événement non géré et arrêtait tout le serveur, avec un
dump géant du client pg dans les logs. Le pool écarte déjà la connexion
fautive et en ouvre une neuve à la requête suivante : on se contente de
journaliser le code et le message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MsDJjQrAggcJwbbBtKhgyb
This commit is contained in:
Claude committed 2026-10-05 14:07:23 +00:00
1 parent d384271a30
commit 6bb61cdbcc
1 file changed
+8
+8
View File
@@ -30,6 +30,14 @@ if (isProduction && dbUrl && (dbUrl.includes('logiflow-db') || dbUrl.includes('l
db = drizzle({ client: pool, schema });
// Une connexion inactive coupée par Postgres (redémarrage ou redéploiement de
// la base, coupure réseau) fait émettre 'error' au pool. Sans écouteur, Node
// arrête tout le serveur ; le pool écarte déjà la connexion fautive et en
// ouvre une neuve à la requête suivante, il suffit donc de journaliser.
pool.on('error', (err: any) => {
console.error('❌ PostgreSQL idle connection error (connexion écartée):', err?.code || '', err?.message);
});
// Test connection
try {
await pool.connect().then((client: any) => {