[英]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.