← back to Trademarks Copyright
src/lib/db.ts
29 lines
import { Pool } from "pg";
declare global {
// eslint-disable-next-line no-var
var _pgPool: Pool | undefined;
}
export const pool =
global._pgPool ??
(process.env.DATABASE_URL
? new Pool({ connectionString: process.env.DATABASE_URL })
: new Pool({
// Unix-socket connect — matches local Postgres peer auth, no password.
host: "/tmp",
port: 5432,
database: "trademarks_copyright",
user: process.env.USER || "stevestudio2",
}));
if (process.env.NODE_ENV !== "production") global._pgPool = pool;
export async function query<T = unknown>(
text: string,
params: unknown[] = []
): Promise<{ rows: T[] }> {
const result = await pool.query(text, params as never);
return { rows: result.rows as T[] };
}