0

heroku에 node-postgres 및 heroku-postgres를 사용하여 포스트그레스에 연결하려는 노드 응용 프로그램이 있습니다.노드 앱의 Heroku-Postgres 연결 문자열

const {Pool} = require('pg'); 
var connectionString = process.env.DATABASE_URL || {user:'bot',database:'myDB'}; 
const db = new Pool(connectionString); 
console.log('Starting DB with parameters: '+connectionString); 
$ heroku log에서

에게 Heroku 로그는 Heroku가 연결 문자열이 설정되어 생성 보여

2017-09-08T00:36:03.510529+00:00 app[web.1]: Starting DB with parameters: postgres://xxxxxx:[email protected]:5432/xxxxxxxx 

그러나 실제 쿼리 수율 : 연결 문자열이 설정되지 않는 것을 의미한다

2017-09-08T00:36:04.794422+00:00 app[web.1]: Error executing query Error: connect ECONNREFUSED 127.0.0.1:5432 
2017-09-08T00:36:04.794425+00:00 app[web.1]:  at Object.exports._errnoException (util.js:1020:11) 
2017-09-08T00:36:04.794426+00:00 app[web.1]:  at exports._exceptionWithHostPort (util.js:1043:20) 
2017-09-08T00:36:04.794426+00:00 app[web.1]:  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14) 

그 것처럼 보입니다. . . 이 경우입니까? 그렇다면 왜?

답변

1

node-postgres의 버전에 따라 달라 지지만 v6.x 이후 버전에서는 new Pool({connectionString: 'postgres://...'})을 사용하여 연결 문자열을 생성자에 전달해야했습니다.