[英]Knex Heroku server connection issues to postgres db - Node.js
[英]Node.JS Heroku Postgres Connection not working
我正在尝试在本地实例中通过 Node.js 连接到我使用 Heroku 创建的 PostgreSQL 服务器。 我遇到的问题是连接永远不会建立,我无法理解为什么,因为没有错误 output。 以下是我的代码片段:
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.log('connection established.');
const currentRecord = await client.query(`SELECT * FROM test_table WHERE email='me@aol.com'`);
console.log(currentRecord);
console.log('records pulled');
}
main();
当我通过命令行运行此脚本时,没有打印任何 console.log() 命令,但我也没有收到任何错误,尽管连接显然没有发生。 我通过 heroku CLI 运行heroku pg:credentials:url DATABASE获得了 postgres 数据库的连接字符串。 对节点、heroku 和堆栈社区非常陌生 - 感谢您提供的任何反馈!
我遇到了一个非常相似的问题。 事实证明,我没有冻结 package.json 中的节点版本,所以问题和本地/部署行为是由运行具有 2 个不同节点版本的代码引起的。 在本地,我在节点 v10 中运行,而在 heroku 中它在 v14 中运行。 因此,在 package.json 中执行此操作解决了该问题:
“引擎”:{“节点”:“12.x”},
显然,它不适用于 v14,但中间 LTS 版本 (12) 似乎可以正常工作。 做了一些研究,似乎 v14 和 pg Node 14.0.0 存在/已经存在一些问题 - pg 没有响应 #2180 。
最后一个答案对我有用,谢谢
在packages.json只放这个;
“引擎”:{“节点”:“12.x”}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.