【发布时间】:2016-03-01 07:26:41
【问题描述】:
我正在尝试在 DigitalOcean 服务器上使用 postgresql 运行 rake db:create。
但是,它返回错误Peer authentication failed for user "rails",指的是存储登录凭据的config/database.yml
奇怪的是,当我通过 SSH 登录服务器时,这些都是以纯文本形式显示给我的确切凭据。我已经尝试了<%= ENV['APP_DATABASE_PASSWORD'] %> 和以纯文本形式显示给我的密码,同样的事情发生了。
环境正在生产中,我必须手动强制执行,因为应用程序在启动时正在开发中,并且强制它在 config/environments.rb 中进行更改不起作用。
如果我不得不猜测,我可能会说环境发生了一些有趣的事情,因为 DigitalOcean 将继续提供站点的缓存版本,直到服务器重新启动,并且它可能仍然认为它正在开发中.但在我弄清楚如何在启动时将其强制投入生产之前,我处于一种 catch-22 中。
这个问题是我在使用 postgres 经历了很多磨难并尝试在后端建立数据库之后得出的,所以我需要完成一些事情。
非常感谢。
【问题讨论】:
-
就我而言,我忘记在
database.yml中指定主机,即localhost。默认情况下,PG 配置为接受来自localhost或127.0.0.1的所有调用
标签: ruby-on-rails ruby database postgresql role