0

Avoir une application node sur heroku, en essayant de se connecter à postgres en utilisant node-postgres et heroku-postgres.Chaîne de connexion Heroku-Postgres dans l'application Node

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); 

journaux Heroku de $ heroku log montrent la chaîne de connexion généré Heroku est défini:

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

Mais un rendement de requête réelle:

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) 

Ce qui implique que la chaîne de connexion n'est pas défini comme il semble être. . . Est-ce le cas? Si oui, pourquoi?

Répondre

1

Dépend de la version de node-postgres, mais depuis la version v6.x tardive, une chaîne de connexion est passée dans le constructeur en utilisant new Pool({connectionString: 'postgres://...'}).