import { Pool } from 'pg' let pool: Pool | null = null /** * Get development database connection pool (singleton) * Reads configuration from environment variables: * - DB_HOST (default: localhost) * - DB_PORT (default: 5432) * - DB_NAME * - DB_USER * - DB_PASSWORD */ export function getDevDbPool(): Pool { if (!pool) { pool = new Pool({ host: process.env.DB_HOST || 'localhost', port: parseInt(process.env.DB_PORT || '5432', 10), database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, max: 10, idleTimeoutMillis: 30_000, connectionTimeoutMillis: 5_000, }) pool.on('error', (err) => { console.error('[stago-dev-db] Pool error:', err.message) }) } return pool } /** * Close database connection pool */ export async function closeDevDbPool(): Promise { if (pool) { await pool.end() pool = null } }