[英]Unable to authenticate postgres user during capistrano deploy on AWS
我正在尝试将Rails应用程序部署到AWS。 部署失败,并显示
PG::ConnectionBad: FATAL: Ident authentication failed for user "postgres"
我的database.yml
文件(由capistrano从应用程序根目录下的共享目录合并)
production:
adapter: postgresql
encoding: unicode
database: tpms_prod
username: postgres
host: 127.0.0.1
port: 5432
和pg_hba.conf
是默认的,看起来像这样
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
我尝试将pg_hba.conf
的身份验证设置更改为password
但是仍然报告身份验证失败!
我尝试将新的超级用户添加到数据库并在database.yml
文件中使用该用户-但该用户的身份验证也失败,因此我知道部署过程正在使用database.yml
文件。
如果我正确理解了ident机制,那么请求连接的用户只需“成为”已声明的用户,这可以在命令行中得到证实。
可能是错误的....但是对我而言,ident意味着您必须在数据库(必须创建db用户)和客户端(此处为rails)之间使用相同的用户名。
这意味着,如果您希望它能正常工作,则应以“ postgres”用户身份运行rails应用程序(这可能不是最好的主意)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.