PostgreSQL不能在Heroku上使用Node.js

我正在尝试使用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)); }); }); 

我试过了这个查询的各种forms,就像这样:

 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) 

如果有人已经遇到这种问题,任何帮助将受到欢迎。 谢谢。

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

如果没有,你可以得到一个heroku console并使用postgre客户端。

ECONNREFUSED是一个套接字错误,当您尝试连接到不可联系/可连接/正在监听的地址时popup。

如果process.env.DATABASE_URL确实返回正确和可连接的地址,那么我会做console.log(pg); 以确保对象是我所期望的那样。