From 70cc0e4536688f98ac75d5308f0b813b177923fe Mon Sep 17 00:00:00 2001 From: Marco Pedone Date: Mon, 23 Mar 2026 12:01:18 +0100 Subject: [PATCH] feat: add error handling for database connection pool to manage admin shutdown during backup windows --- apps/infoalloggi/src/server/db.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/infoalloggi/src/server/db.ts b/apps/infoalloggi/src/server/db.ts index e719bd2..30fdf9b 100644 --- a/apps/infoalloggi/src/server/db.ts +++ b/apps/infoalloggi/src/server/db.ts @@ -26,6 +26,19 @@ const pool = new Pool({ user: env.POSTGRES_USER, }); +pool.on("error", (err) => { + const pgErr = err as { code?: string }; + // "admin_shutdown" error sent during backups + const isAdminShutdown = pgErr.code === "57P01"; + const hour = new Date().getHours(); + // Consider it a backup window if it's between 00:00 and 02:00 + const isBackupWindow = hour === 0 || hour === 1; + + if (isAdminShutdown && isBackupWindow) return; + + console.error("PG error:", err); +}); + type Db = typeof db; type Trx = Transaction;