// src/database/connection.js const { Client } = require('pg'); const config = require('../config'); // Création du client PostgreSQL avec la configuration centralisée const client = new Client({ host: config.database.host, port: config.database.port, user: config.database.user, password: config.database.password, database: config.database.database }); let isConnecting = false; /** * Initialise la connexion à la base de données * Réessaie automatiquement si la connexion échoue */ function initDatabase() { if (isConnecting) { console.log('[DB] Tentative de connexion déjà en cours, ignorer...'); return; } console.log('[DB] Initialisation de la connexion à PostgreSQL...'); isConnecting = true; client.connect(err => { isConnecting = false; if (err) { console.error('[DB] Erreur de connexion à la base de données:', err); setTimeout(initDatabase, config.database.reconnectInterval); } else { console.log('[DB] Connecté à la base de données PostgreSQL.'); } }); } // Initialise la connexion lors de l'importation de ce module initDatabase(); module.exports = client;