Files
ipwhitelist-app/v2/src/db/index.js
T

30 lines
1.4 KiB
JavaScript

// ═══════════════════════════════════════════════════════════════════════════════
// V2 — PostgreSQL connection pool
//
// ЭТО: pg.Pool — единственное подключение к БД.
// ЗАЧЕМ: все модули (crud, queries, schema) используют один pool.
//
// ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ (из основного .env):
// DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASS
// ═══════════════════════════════════════════════════════════════════════════════
const { Pool } = require('pg');
const config = require('../config');
const pool = new Pool({
host: process.env.DB_HOST || 'localhost',
port: process.env.DB_PORT || 5432,
database: process.env.DB_NAME || 'ipwhitelist',
user: process.env.DB_USER || 'super',
password: process.env.DB_PASS || '',
ssl: process.env.DB_SSLMODE === 'require' ? { rejectUnauthorized: false } : false,
max: 10,
idleTimeoutMillis: 30000,
});
pool.on('error', (err) => {
console.error('[v2:db] pool error:', err.message);
});
module.exports = { pool };