我正在尝试将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(无密码)
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。这是什么问题?
答案 0 :(得分:3)
DATABASE_URL postgres:// postgres:@localhost:5432 / postgres
这是将DATABASE_URL
配置变量(在您的应用程序中使用)设置为使用localhost
上的数据库,该数据库将解析为运行该应用程序的计算机,从而导致错误。
您可能想要做的是将“ localhost”更改为Postgres实例运行所在的IP地址以及身份验证所需的凭据。