2014-10-16 73 views
0

我無法使用我創建的帳戶(alex)連接到我的Linux Fedora安裝程序的本地Postgresql數據庫。我已經嘗試了很多不同的東西,包括將'方法'改爲md5等等。這是我的pg_hba.conf文件的副本:無法用我創建的用戶連接到本地Postgresql數據庫

local all    all          peer 
local project   alex         peer 
host all    all    127.0.0.1/32   ident 
host all    all    ::1/128     ident 

用戶'alex'具有登錄權限和複製權限以及密碼(加密)。

psql -U alex -d project -h 127.0.0.1 
psql: FATAL: Ident authentication failed for user "alex" 

與 '-W' 開關強制密碼輸入會導致這樣的事情發生:

psql -U alex -d project -h 127.0.0.1 -W 
Password for user alex: 
psql: FATAL: Ident authentication failed for user "alex" 

回答

1

您使用TCP/IP(-h 127.0.0.1-h localhost),所以它使用host線。 local行是針對unix套接字的,並不適用於TCP/IP。

因此,它選擇ident認證,該認證期望連接用戶具有與他們連接到的PostgreSQL用戶相同的unix用戶名。它在現代操作系統中也得不到很好的支持。 (我個人認爲,默認身份驗證實際上是一個錯誤)。

我建議使用md5密碼驗證,而不是ident。請記住重新加載配置以使更改生效。

或者,如果您當前的unix用戶名與您希望連接的PostgreSQL用戶的名稱相匹配,則省略-h 127.0.0.1以使用peer通過unix套接字進行身份驗證。

0

修復了它,我猜這個條目越高,它在pg_hpa.conf文件中的優先級就越高。我刪除了頂級同行條目,並解決了問題。

相關問題