From 003fdf18a75453d7e7b76577b3f8fa8fa0c122cc Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sun, 9 Nov 2025 16:30:15 -0600 Subject: [PATCH] =?UTF-8?q?Fix:=20Configurar=20pool=20de=20PostgreSQL=20pa?= =?UTF-8?q?ra=20evitar=20errores=20de=20autenticaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agregar configuración de pool con límites y timeouts - Agregar manejo de errores del pool para evitar crashes - Soluciona errores intermitentes de autenticación causados por conexiones inactivas --- node-api/src/services/db.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/node-api/src/services/db.js b/node-api/src/services/db.js index 09dbaf1..cced7e3 100644 --- a/node-api/src/services/db.js +++ b/node-api/src/services/db.js @@ -2,7 +2,21 @@ import pkgPg from 'pg'; import { PGDATABASE, PGHOST, PGPASSWORD, PGPORT, PGUSER, SESSION_TIMEOUT, VLAN_ID, MAX_DOWN, MAX_UP } from '../config/env.js'; const { Pool } = pkgPg; -export const pool = new Pool({ host: PGHOST, port: PGPORT, database: PGDATABASE, user: PGUSER, password: PGPASSWORD }); +export const pool = new Pool({ + host: PGHOST, + port: PGPORT, + database: PGDATABASE, + user: PGUSER, + password: PGPASSWORD, + max: 20, // número máximo de conexiones en el pool + idleTimeoutMillis: 30000, // cerrar conexiones inactivas después de 30 segundos + connectionTimeoutMillis: 5000, // timeout para obtener una conexión del pool +}); + +// Manejo de errores del pool para evitar que el proceso se caiga +pool.on('error', (err, client) => { + console.error('Error inesperado en el cliente de PostgreSQL:', err); +}); export async function ensureSchema() { const client = await pool.connect();