diff --git a/nuxt4/server/utils/db.ts b/nuxt4/server/utils/db.ts index 1379506..3633d61 100644 --- a/nuxt4/server/utils/db.ts +++ b/nuxt4/server/utils/db.ts @@ -23,6 +23,7 @@ export function getPool(): pg.Pool { pool = new Pool(config) + // Manejo de errores del pool pool.on('error', (err) => { console.error('Error inesperado en el pool de PostgreSQL:', err) }) @@ -33,6 +34,27 @@ export function getPool(): pg.Pool { console.log('Nueva conexión establecida con PostgreSQL') }) } + + // Verificar conexión inicial con retry + let retries = 5 + const tryConnect = async () => { + try { + const client = await pool!.connect() + console.log('✅ Conexión inicial a PostgreSQL exitosa') + client.release() + } catch (err: any) { + retries-- + if (retries > 0) { + console.log(`⚠️ Conexión a PostgreSQL falló, reintentando... (${retries} intentos restantes)`) + setTimeout(tryConnect, 2000) // Reintentar en 2 segundos + } else { + console.error('❌ No se pudo conectar a PostgreSQL después de varios intentos:', err.message) + } + } + } + + // Ejecutar verificación inicial en background + tryConnect() } return pool