Files
acs/server/db/pool.ts
2026-07-13 10:33:21 +09:00

24 lines
527 B
TypeScript

import pg from 'pg';
import { requireDatabaseUrl } from '../config/env.js';
let pool: pg.Pool | undefined;
export function getPool(): pg.Pool {
pool ??= new pg.Pool({
connectionString: requireDatabaseUrl(),
});
return pool;
}
export async function query<T extends pg.QueryResultRow = pg.QueryResultRow>(
text: string,
params?: unknown[],
): Promise<pg.QueryResult<T>> {
return getPool().query<T>(text, params);
}
export async function closePool(): Promise<void> {
await pool?.end();
pool = undefined;
}