node.js - 使用 Node.js 连接到 Heroku 上的 postgres

标签 node.js postgresql heroku

我尝试通过以下方式连接到 Heroku 上的 postgres 数据库:

var pg = require('pg');
pg.defaults.ssl = true;
var pool = new pg.Pool(process.env.DATABASE_URL);

pool.connect(function(err, client, done) {
if(err) {
  return console.error('error fetching client from pool', err);
}

我已确认 proccess.env.DATABASE_URL 的值,它的格式正确,我可以通过 psql postgres://XXXXXXXX:XXXXXXXXXXXXXXX@XXXXXXXXXXXXX.eu-west-1.compute.amazonaws.com 成功连接到它:5432/XXXXXXXX

这是输出,让我困惑的是这个输出的 127.0.0.1 引用。

2016-06-27T14:58:52.714154+00:00 app[web.1]: Express server listening on port 18119
2016-06-27T14:59:29.175122+00:00 app[web.1]: error fetching client from pool { Error: connect ECONNREFUSED 127.0.0.1:5432
2016-06-27T14:59:29.175133+00:00 app[web.1]:     at Object.exports._errnoException (util.js:949:11)
2016-06-27T14:59:29.175134+00:00 app[web.1]:     at exports._exceptionWithHostPort (util.js:972:20)
2016-06-27T14:59:29.175135+00:00 app[web.1]:     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
2016-06-27T14:59:29.175136+00:00 app[web.1]:   code: 'ECONNREFUSED',
2016-06-27T14:59:29.175137+00:00 app[web.1]:   errno: 'ECONNREFUSED',
2016-06-27T14:59:29.175137+00:00 app[web.1]:   syscall: 'connect',
2016-06-27T14:59:29.175138+00:00 app[web.1]:   address: '127.0.0.1',
2016-06-27T14:59:29.175139+00:00 app[web.1]:   port: 5432 }

最佳答案

试试这个:

var pg = require('pg').native
pg.connect(process.env.databaseURL, function (err, conn, done) {
    ...
}

关于node.js - 使用 Node.js 连接到 Heroku 上的 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057465/

相关文章:

javascript - 将 nodejs 的缓冲区转换为浏览器的 javascript

javascript - 从 11 版本更新到 12 版本后,Angular 项目不起作用

python - 如何检查列是否存在,如果存在,则从中返回一个值

sql - 如何计算 PostgreSQL 中多个日期范围内的出现次数

postgresql - postgres 抛出错误 : null value in column "id" violates not-null constraint even when value is actually not null

ruby-on-rails - EmberJS 的 Assets 编译速度很慢

node.js - 如何在Electron应用程序中查看对主进程发出的HTTP请求的响应?

javascript - Node JS 中 console.log 和 logger.log 的区别

ruby-on-rails - Font Awesome 图标在 Heroku 上显示为黑色方 block

git - heroku cli 登录显示错误的帐户信息