Имеется код следующего модуля (js file):
const { Pool } = require('pg');
const pool = new Pool({
host: process.env.POSTGRESHOST,
port: process.env.POSTGRESPORT,
database: process.env.POSTGRESDATABASE,
user: process.env.POSTGRESUSER,
password: process.env.POSTGRESPASSWORD,
connectionTimeoutMillis: 500,
ssl: true
});
module.exports.execute = async ({ x1, x2, connection_dataId, noteType, note, idX, typeOfInstertable, idOfDocument, idType }) => {
let checkResult;
console.log("Current connection pool : ", pool);
const connection_data = await pool.connect();
try {
// console.log("After pool.connect()" + JSON.stringify(connection_data));
await connection_data.query('BEGIN')
const tResult = await connection_data.query('SELECT * FROM view_tenant_v1($1)', [x1]);
const tId = tResult.rows[0].id;
const insertCNote = await connection_data.query('SELECT * FROM insert_connection_data_note_v1($1, $2, $3, $4, $5)', [tId, x2, connection_dataId, noteType, note]);
const connection_dataNoteId = insertCNote.rows[0].record_id;
checkResult = await connection_data.query('SELECT * FROM insert_connection_data_idcheck_v2($1, $2, $3, $4, $5, $6, $7, $8)', [tId, x2, connection_dataId, idX, typeOfInstertable, idOfDocument, idType, connection_dataNoteId]);
await connection_data.query('COMMIT')
connection_data.release();
await pool.end();
return checkResult.rows[0];
} catch (e) {
await connection_data.query('ROLLBACK');
connection_data.release();
await pool.end();
console.log(`Error writing ID Check: ${e}`);
throw e;
}
}
В 95% случаев он отрабатывает нормально, но иногда вообще не реагирует, как будто соединения с базой данных вообще не было. Я вообще не специалист в node.js, а девелопер, который это делал уже ушел. Как можно переписать корректно строку const connection_data = await pool.connect(); ... так, чтобы ловить ошибки соединения с базой данных в консоль лог?