无法使用Ruby连接到Heroku上的PostgreSQL数据库 – 无法翻译主机名

我正在使用 Ruby(而不是Rails)并连接Postgresql数据库.我一直试图在Heroku上设置,但是我在启动应用程序时遇到了问题.在本地运行应用程序运行正常.

我的本地.env看起来像:

postgres://DATABASE_URL=localhost

并且连接到数据库的Ruby连接如下所示:

@@db = PGconn.open(:hostaddr => ENV['DATABASE_URL'],:dbname => '(dbname)',:password => '(password)')

当我推送到Heroku时,应用程序在该行崩溃,并将此错误写入日志:

Could not translate host name "postgres://(my heroku db address)" to address: Name or service not kNown (PG::Error)

那里的数据库地址与我的heroku:config中的DATABASE_URL相匹配.我正在使用共享数据库.

我尝试过使用:host => ENV [‘DATABASE_URL’](而不是:hostaddr)但结果相同.我猜我有一些简单的东西,但是我没有任何好的想法.

解决方法

您需要解析DATABASE_URL的特定部分.请参阅 https://devcenter.heroku.com/articles/rack#database_access

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...