forked from admin/runners-calendar
30 lines
645 B
TypeScript
30 lines
645 B
TypeScript
import { Pool, PoolConfig } from "pg";
|
|
import { config } from "./config";
|
|
|
|
const poolConfig: PoolConfig = {
|
|
host: config.db.host,
|
|
port: config.db.port,
|
|
database: config.db.database,
|
|
user: config.db.user,
|
|
password: config.db.password,
|
|
max: 10,
|
|
idleTimeoutMillis: 30_000,
|
|
connectionTimeoutMillis: 5_000,
|
|
};
|
|
|
|
export const pool = new Pool(poolConfig);
|
|
|
|
pool.on("error", (err) => {
|
|
console.error("[db] Unexpected pool error:", err.message);
|
|
});
|
|
|
|
export async function checkDbConnection(): Promise<boolean> {
|
|
try {
|
|
const client = await pool.connect();
|
|
client.release();
|
|
return true;
|
|
} catch {
|
|
return false;
|
|
}
|
|
}
|