【问题标题】:heroku pg:psql not working [connection refused]heroku pg:psql 不工作 [连接被拒绝]
【发布时间】:2019-07-02 07:36:43
【问题描述】:

我正在使用 Postgres 数据库在 Heroku 上运行 Ruby on Rails 应用程序。 我以前可以使用heroku pg:psql 命令从我的终端连接到我的数据库

最近,情况发生了变化。运行heroku pg:psql 命令后,出现以下错误。

--> Connecting to postgresql-perpendicular-94363
psql: could not connect to server: Connection refused
    Is the server running on host "ec2-23-23-130-158.compute-1.amazonaws.com" (23.23.130.158) and accepting
    TCP/IP connections on port 5432?

我试图在网上搜索它,但没有找到任何有用的东西。

请帮忙。谢谢 ????

【问题讨论】:

  • 根据您的用户名,我猜您是学生。您是否正在从校园网络尝试这些命令?此错误很有可能是由防火墙阻止 5432 引起的。
  • @RangerRanger 你是绝对正确的。学校网络正在阻止访问。使用我手机的热点,这个命令可以完美运行。谢谢????不知道为什么学校会阻止它。
  • 这是一种非常标准的网络安全态势。阻止所有内容,除非有充分的理由打开它。
  • @RangerRanger 通过 VPN 运行我的流量导致了同样的错误。仅感谢您对网络被阻止的评论,我才弄清楚了这一点。关闭 VPN 可修复错误。

标签: ruby-on-rails postgresql heroku heroku-postgres


【解决方案1】:

根据帖子中提到的描述,您指定的方式是正确的。 此外,您还可以尝试下面提到的命令,您也可以在其中指定数据库。

heroku pg:psql DATABASE_URL

注意:这仅在链接多个数据库时使用。

【讨论】:

  • 那么,您的回答如何解决问题? heroku pg:psql DATABASE_URL 也给出了同样的错误。谢谢。
【解决方案2】:

我刚刚尝试连接到您的数据库:

psql "dbname=postgresql-perpendicular-94363 host=ec2-23-23-130-158.compute-1.amazonaws.com user=test_user port=5432 sslmode=require"

我有:

psql: FATAL:  password authentication failed for user "test_user"

因为,我当然不知道你的凭据 :) 但是,似乎连接有效。我想,你忘了设置sslmode。正如您在documentation 中看到的,它是必需的:

所有连接都需要 SSL:sslmode=require。

更新:

我检查了没有sslmode 的连接,消息不是你的:

FATAL:  no pg_hba.conf entry for host "31.42.24.63", user "test_user", database "postgresql-perpendicular-94363", SSL off

所以,我想这是您的互联网连接问题。检查您的防火墙设置。

【讨论】:

  • 你是绝对正确的。这个命令没有问题。我学校的互联网出于某种原因阻止了此访问。谢谢
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 2013-10-08
  • 1970-01-01
相关资源
最近更新 更多