【发布时间】:2019-02-05 10:25:36
【问题描述】:
我正在尝试将我的 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 Admin 中,我将 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。这里有什么问题?
【问题讨论】:
-
为什么不使用 herokus Postgres dB?您可以导出本地免费托管。
-
我们正在试验 Heroku 的功能。客户可能将他们的数据库分开
-
外部 PostgreSQL 是指本地主机?
-
是的。在 Heroku 之外
-
我想如果你能改变heroku配置
heroku config:set DATABASE_URL=postgres://user_name:password@host:port/database_name。确保您不在防火墙后面。
标签: ruby-on-rails postgresql heroku heroku-postgres