Я пытаюсь подключиться к серверу PostgreSQL, который я создал с помощью Heroku, через Node.js в локальном экземпляре. Проблема, с которой я столкнулся, заключается в том, что соединение никогда не устанавливается, и мне трудно понять, почему, потому что нет вывода ошибок. Ниже приведен фрагмент моего кода:
async function main(){
const { Pool } = require('pg');
const pool = new Pool({
connectionString: "postgres://very_long_url_here" || process.env.DATABASE_URL,
ssl: {
rejectUnathorized: false
}
});
const client = await pool.connect();
console.info('connection established.');
const currentRecord = await client.query(`SELECT * FROM test_table WHERE email='[email protected]'`);
console.info(currentRecord);
console.info('records pulled');
}
main();
Когда я запускаю этот сценарий через командную строку, ни одна из команд console.info () не печатается, но я также не получаю никаких сообщений об ошибках, хотя соединение явно не происходит. Я получил строку подключения для базы данных postgres, запустив heroku pg: учетные данные: url БАЗА ДАННЫХ через интерфейс командной строки heroku. Очень новичок в node, heroku и сообществе стека - я ценю любые отзывы, которые вы можете получить!





У меня была очень похожая проблема. Оказывается, я не замораживал версию узла в package.json, поэтому проблема и локальное / развернутое поведение были вызваны запуском кода с двумя разными версиями узлов. Локально я работал в узле v10, в то время как в heroku он работал в v14. Итак, выполнение этого в package.json устранило проблему:
"двигателей": { "узел": "12.x" },
Судя по всему, это не работает с v14, но промежуточная версия LTS (12), похоже, работает нормально. Проведя небольшое исследование, кажется, что есть / были некоторые проблемы с v14 и pg Узел 14.0.0 - pg не отвечает # 2180.