这件事完全让我发疯了。我花了几个月的时间,试图让一个简单的节点应用程序工作。我最终设法使一个应用程序在一个很好的服务器(Heroku)和MySQL中工作。问题?服务器只接受postgres。这是我的噩梦。我就是不能让它工作。搜索了几十个网页和问题,所有的错误日志都和我一样...但我不知道该怎么办。我在配置方面完全是白痴,我甚至不能开始编程我的应用程序。
错误:Object._ErrnoException(util.js:1022:11)在_ExceptionWithHostPort(util.js:1044:20)在TCPConnectWrap.AfteeConnect[as oncomplete](net.js:1198:14)处connect ECONNEDREED 127.0.0.0.1:5432
server.js的启动
常量pg=require('pg');const connectionString=process.env.database_url'postgres://myrole:12345@localhost:5432/mydb';
这里有个错误。
var pool=new pg.pool();pool.connect()。然后(客户端=>{
它在连接的时候就崩溃了。
我做了我想做的一切。我创建了具有所有权限的“MyRole”登录角色,密码为“12345”,以连接到“MyDB”数据库。我打开了“pgadmin4”应用程序。连接到“PostgreSQL 10”和“mydb”。我看到第一个连接到端口3000。我在连接字符串中尝试了端口3000。我在windows上搜索这项服务。它在运行。我做了所有的事,但都没成功...我安装并使MySQL数据库在本地运行仅用了2个小时。但是Heroku不接受MySQL,我也不想把任何信用卡。这里发生什么事了?
我也有同样的问题,我会把我的情况放在这里,希望能帮助别人。
我测试了一些AWS Lambda函数,由于代码运行在一个容器中,并且容器有自己的本地主机,所以我的postgres连接失败了,因为容器上没有运行postgres服务器。请记住,您的机器的localhost与容器的localhost不相同,如果您的应用程序运行在容器内,则使用您的机器IP而不是localhost。