【发布时间】:2019-02-05 20:45:10
【问题描述】:
几个月来,我开发的 Mac 上的一个 ruby (sinatra) 应用程序“foo.rb”一直在使用远程 Heroku 托管的 Postgres 数据库。
该应用不使用任何本地数据库,无论是在开发还是生产中。
对于另一个项目,我从 Heroku 安装了 Postgress.app,首先按照建议删除了一个非常旧的版本,使用 brew remove postgresql
下次我运行 foo.rb 并尝试使用 SomeModel.count 访问(远程)数据库时,我收到错误:
PG::ConnectionBad: FATAL: no pg_hba.conf entry for host , user , database , SSL off
我很困惑为什么当数据库连接配置指向远程 postgres url 时错误显示我的 devt 机器地址,以及为什么它说 SSL 关闭。
任何想法如何摆脱错误?有什么方法可以查看它抱怨的 pg_hba.conf 的路径,以便我可以验证它是否包含正确的主机条目?
(我想知道 pg gem 是否有自己的副本隐藏在某个地方。)
我可以找到的 pg_hba.conf 副本(在 /Library/Application Support/XXXX 中适用于新旧 Postgress.app 版本)具有正确(且未更改)的主机条目。
【问题讨论】:
-
您的本地 pg_hba.conf 文件不相关。您尝试连接的服务器上的那个是!检查您尝试运行的应用程序的连接参数。您的本地 pg 安装可能已经更改了一些相关的环境变量。见:libpq env variables
标签: ruby postgresql heroku postgres.app