节点postgres在localhost中ECONNREFUSED

时间:2018-04-07 13:52:24

标签: node.js database postgresql

这个问题让我疯狂。我花了几个月的时间,试着让SIMPLE NODE APP工作。我终于设法在一个漂亮的服务器(Heroku)和mysql上工作。问题?服务器只接受postgres。这是我的噩梦。我无法让它发挥作用。搜索了几十个网站和问题,所有这些都和我一样有错误日志...但我无法想象该怎么做。我在配置事情上完全是个白痴,我甚至无法开始编写我的应用程序。

  

错误:连接ECONNREFUSED 127.0.0.1:5432   at Object._errnoException(util.js:1022:11)   at _exceptionWithHostPort(util.js:1044:20)   在TCPConnectWrap.afteeConnect [as oncomplete](net.js:1198:14)

我的server.js

的开始
  

const pg = require(' pg');   const connectionString = process.env.DATABASE_URL || ' postgres的:// myrole:12345 @本地:5432 / MYDB&#39 ;;

这是错误。

  

var pool = new pg.Pool();   pool.connect()。then(client => {

它在连接时崩溃。

我做了我搜索过的所有事情。我创造了" myrole"具有所有权限,密码" 12345"的登录角色,以连接到" mydb"数据库。我打开了#34; pgAdmin4"应用。连接到" PostgreSQL 10"和" mydb"。我看到第一个连接到端口3000.我在连接字符串中尝试了端口3000。我在Windows上搜索了这项服务。它正在运行。我只是做了一切,没有任何作用......我安装并使MySQL数据库在2小时内在本地运行。但是Heroku并不接受MySQL,我也不想放任何信用卡。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我将把这里的情况放在这里,希望可以帮助其他人。

我正在测试一些AWS Lambda函数,并且由于代码在容器中运行并且容器具有自己的 localhost ,所以我的postgres连接失败,因为容器上没有运行postgres服务器。请记住,您的计算机的本地主机与容器的本地主机不同,如果您的应用程序在容器中运行,则使用计算机IP代替本地主机。