2013-04-25 5 views
1

저는 Heroku와 PostgreSQL 데이터베이스를 사용하여 node.js 응용 프로그램을 작성하려고합니다.PostgreSQL이 Heroku의 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) 

누군가 이미 이런 종류의 문제가 발생하면 도움을받을 수 있습니다. 감사합니다.

답변

2

나는 console.log(process.env.DATABASE_URL);을 시도한 다음 해당 주소를 사용하여 로컬 컴퓨터의 클라이언트를 사용하여 수동으로 연결하는 것이 좋습니다. 나는 Heroku 데이터베이스 서버가 원격 연결을 위해 열려 있다는 것을 이해합니다. (그러나 나는 잘못되었습니다.)

heroku console을 얻을 수 없으며 postgre 클라이언트를 사용할 수 없습니다.

ECONNREFUSED는 연결/연결/수신 할 수없는 주소에 연결하려고 시도 할 때 나타나는 소켓 오류입니다.

process.env.DATABASE_URL이 올바른 주소와 연결 가능한 주소를 반환하면 나는 console.log(pg);을 수행하여 해당 개체가 무엇인지 예상합니다.

+0

실제 문제는 연결이었습니다. 대신 다음 방법을 사용했습니다. https://github.com/brianc/node-postgres/wiki/Client#constructor. 이제 작동합니다. 고맙습니다 ! – Aerilys

관련 문제