尝试将我的herokuApp连接到外部postgres

时间:2018-08-30 12:54:40

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

我正在尝试将Heroku应用程序连接到外部PostgreSQL。但是我一直收到拒绝连接的错误:

ActionView::Template::Error (could not connect to server: Connection refused
2018-08-30T12:44:46.868880+00:00 app[web.1]: Is the server running on       host "localhost" (127.0.0.1) and accepting
2018-08-30T12:44:46.868882+00:00 app[web.1]: TCP/IP connections on port 5432?

在Heroku管理员中,我已将DATABASE_URL设置为指向PostgreSQL(无密码)

enter image description here     DATABASE_URL postgres:// postgres:@localhost:5432 / postgres

我的database.yml看起来像这样

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>

当我输入命令Heroku config时,我肯定可以看到我的DATABASE_URL。这是什么问题?

1 个答案:

答案 0 :(得分:3)

  

DATABASE_URL postgres:// postgres:@localhost:5432 / postgres

这是将DATABASE_URL配置变量(在您的应用程序中使用)设置为使用localhost上的数据库,该数据库将解析为运行该应用程序的计算机,从而导致错误。

您可能想要做的是将“ localhost”更改为Postgres实例运行所在的IP地址以及身份验证所需的凭据。