【问题标题】:PostgreSQL not working with Node.js on HerokuPostgreSQL 无法在 Heroku 上使用 Node.js
【发布时间】:2013-04-19 22:55:02
【问题描述】:

我正在尝试使用 Heroku 和 PostgreSQL 数据库开发 node.js 应用程序。

我已按照 Heroku 文档的教程进行操作: https://devcenter.heroku.com/articles/nodejs#using-a-postgres-database

依赖关系不错,我的代码基本如下:

var pg = require('pg');

pg.connect(process.env.DATABASE_URL, function(err, client) {
  var query = client.query('CREATE TABLE users (id bigint auto_increment not null, login varchar(250), constraint pk_users primary key (id) )');

  query.on('row', function(row) {
    console.log(JSON.stringify(row));
  });
});

我尝试过各种形式的查询,比如这个:

var client = new pg.Client(process.env.DATABASE_URL);
client.connect();

但每次我的 heroku 日志中都会出现此错误:

at Object.afterConnect [as oncomplete] (net.js:875:19)
Error: connect ECONNREFUSED
at errnoException (net.js:884:11)

如果有人已经遇到过此类问题,欢迎提供任何帮助。 谢谢。

【问题讨论】:

    标签: node.js postgresql heroku


    【解决方案1】:

    我建议尝试console.log(process.env.DATABASE_URL);,然后使用该地址通过本地计算机上的客户端手动连接。我知道 Heroku 数据库服务器是为远程连接打开的(但我之前错了)。

    如果您无法获得 heroku console 并使用 postgre 客户端。

    ECONNREFUSED 是一个套接字错误,当您尝试连接到不可联系/不可连接/无法侦听的地址时会弹出该错误。

    如果process.env.DATABASE_URL 确实返回了正确且可连接的地址,那么我将使用console.log(pg); 来确保该对象是我所期望的。

    【讨论】:

    猜你喜欢
    • 2016-12-04
    • 2015-10-23
    • 2013-08-07
    • 2019-12-16
    • 1970-01-01
    • 2017-07-01
    • 2021-03-30
    • 2021-12-31
    • 2017-01-31
    相关资源
    最近更新 更多