【问题标题】:heroku db connection refusedheroku 数据库连接被拒绝
【发布时间】:2017-12-30 01:51:38
【问题描述】:

我对 heroku 和 node 很陌生。当我尝试连接到 heroku db 时,出现以下错误。

错误:连接 ECONNREFUSED 127.0.0.1:5432

我正在使用连接池:

var pg = require('pg');
var heroconfig =process.env.DATABASE_URL || "postgres://jykyslkwkdsvhz:3ba43ff7db0c8dv9a914bac02f55ce944d8ccec31b67f858df3a858faa386c8e@ec2-54-243-214-198.compute-1.amazonaws.com:5432/dfiijlh3fbe3g9";

//var pool1 = new Pool(heroconfig);
var pool1 = new Pool(heroconfig);


app.get('/db', function(req, res){
	pool1.query('SELECT * FROM test_table;',function(err, result){
		if(err){
			res.status(500).send(err.toString());
		} else{
			res.send(JSON.stringify(result.rows));
		}
	});
});

我尝试查看其他用户的类似问题,但找不到涉及池的解决方案。

请帮忙。

【问题讨论】:

  • 感谢您的反馈。我想澄清一下,我已经用随机字符修改了数据库凭据。所以该 URL 是一个虚拟 URL。此外,由于我是新手,我希望有人能够帮助我,即使问题很糟糕。坦率地说,我不知道为什么这个问题不好。
  • 你说得对,“坏”不是我描述你的问题的建设性方式。让我看看我是否可以提供帮助 - 首先,您能粘贴其余的代码吗?例如,Pool 来自哪里?你实例化它(new Pool(heroconfig);),但不清楚你从哪里得到池。 127.0.0.1:5432 是 pg 将尝试连接的默认地址(localhost),因此它似乎没有接收到您的配置。

标签: node.js postgresql heroku


【解决方案1】:

我想通了一部分,

将配置数据存储为如下对象使其工作

var heroconfig = {
user: 'username',
database: 'database name',
password: 'some pass word',
host: 'host name',
port: 5432,
max: 10,
idleTimeoutMillis: 30000,
};

但是,在使用我原来的问题中提到的代码行时,数据库 url 存储在变量中,它不起作用:

var heroconfig =process.env.DATABASE_URL || "postgres://jykyslkwkdsvhz:3ba43ff7db0c8dv9a914bac02f55ce944d8ccec31b67f858df3a858faa386c8e@ec2-54-243-214-198.compute-1.amazonaws.com:5432/dfiijlh3fbe3g9";

我打算将我的凭据存储在另一个文件中,并在我的服务器文件中要求它,这似乎是一种更好的方法。

【讨论】:

    【解决方案2】:

    我知道这已经晚了,但根据文档,为了使用连接字符串,您必须这样做:

    const { Pool, Client } = require('pg')
    const connectionString = 'postgresql://dbuser:secretpassword@database.server.com:3211/mydb'
    
    const pool = new Pool({
      connectionString: connectionString,
    })

    请看这里:https://node-postgres.com/features/connecting#connection-uri

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-24
      • 2016-08-12
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2012-08-02
      • 2023-03-12
      相关资源
      最近更新 更多