import { drizzle } from "drizzle-orm/node-postgres"; import pg from "pg"; import * as schema from "@shared/schema"; if (!process.env.DATABASE_URL) { throw new Error( "DATABASE_URL must be set. Did you forget to provision a database?", ); } // CORREÇÃO: Usar Pool em vez de Client único para melhor performance // e evitar queries travadas quando conexão falha const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL, max: 20, // máximo de conexões no pool idleTimeoutMillis: 30000, // tempo máximo de inatividade connectionTimeoutMillis: 5000, // timeout de conexão: 5s statement_timeout: 10000, // timeout de query: 10s }); // Log de erros do pool pool.on('error', (err) => { console.error('[DB Pool] Erro inesperado:', err.message); }); // Exportar pool para uso no session store export { pool }; export const db = drizzle({ client: pool, schema });