HEROKU POSTGRES错误:连接被拒绝,服务器是否在"..compute-1.amazonaws.com..."主机上运行并接受端口5432的TCP/IP连接?

6

我已经试了数周仍无法解决问题。

我正在开发一个web应用程序,并使用Heroku进行生产部署。我使用Heroku Postgres作为我的数据库,并且希望从本地计算机中的psql访问该托管的数据库以进行更改。我已经尝试过Mac OS X和Linux Mint。

然而,无论我尝试什么,我都会不断收到以下错误:

---> Connecting to HEROKU_POSTGRESQL_ORANGE_URL (DATABASE_URL)
psql: could not connect to server: Connection refused
    Is the server running on host "ec2-***-**-***-**.compute-1.amazonaws.com" (***.**.***.**) and accepting
    TCP/IP connections on port 5432?

我开始考虑是否需要通过SSH连接到Amazon EC2实例并更改Postgres配置?这样做有可能吗?


更改PostgreSQL版本号? - sir_thursday
heroku pg:info 会显示什么? - elithrar
@elithrar 所期望的结果如下: === HEROKU_POSTGRESQL_BRONZE_URL 计划:Hobby-dev 状态:可用 连接数:0/20 PG版本:9.3.6 创建时间:2014-08-16 15:31 UTC 数据大小:7.6 MB 表格:7 ...=== HEROKU_POSTGRESQL_ORANGE_URL,DATABASE_URL 计划:Hobby-basic 状态:可用 连接数:0/20 PG版本:9.3.6 创建时间:2014-08-17 17:30 UTC 数据大小:7.7 MB 表格:9 ... - Brian
4个回答

2
您无法直接连接运行Heroku Postgres实例的EC2实例;它由Heroku管理,普通用户不允许连接它。
如果您的应用程序在Heroku上运行正常,并且您正在运行heroku pg:psql尝试连接到数据库,那么很可能存在本地网络问题,阻止您连接到Postgres数据库,例如阻止出站连接的防火墙。 Heroku Postgres数据库对公众开放,没有IP范围限制。

2
可能是您正在使用的互联网连接的代理或防火墙出现问题。
尝试将您的电脑连接到您的手机数据共享网络,然后再次运行命令,以验证问题是否存在。"Original Answer":最初的回答

0

您可以通过在DB连接URL的末尾添加以下属性来直接连接到EC2 Heroku Postgress实例:

jdbc:postgresql://<host>/<dbname>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

0

当我的pg_hba.conf或AWS安全组未正确配置时,我会遇到这种错误。有很多文档可以解决这个问题。例如,您可以查看此列表link


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接