繁体   English   中英

Node.JS Heroku Postgres 连接不工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM