import { Pool } from 'pg'; import type { AppConfig } from '../config/env.js'; export function createDatabasePool( config: AppConfig, options: { connectionString?: string; applicationName?: string } = {}, ): Pool { const pool = new Pool({ connectionString: options.connectionString ?? config.database.url, max: config.database.poolMax, idleTimeoutMillis: config.database.idleTimeoutMs, connectionTimeoutMillis: 5_000, statement_timeout: config.database.statementTimeoutMs, application_name: options.applicationName ?? 'saas-voc-server', }); pool.on('error', (error) => { console.error('[database] idle client error', error); }); return pool; }