%3A%20%E7%84%A1%E6%B3%95%E9%80%A3%E7%B7%9A%E5%88%B0%20PostgreSQL%20%E4%BC%BA%E6%9C%8D%E5%99%A8.png)
我讀過多篇文章,詳細介紹了這個問題的修復方法。我嘗試過編輯 pg_hba.conf 檔案的各種變體,但不幸的是,當我嘗試執行我正在嘗試使用的 php 程式時,我仍然在 Apache 日誌中收到以下錯誤。
Thu Mar 28 08:20:21 2013] [錯誤] [客戶端 172.16.1.64] PHP 警告:pg_connect(): >無法連線到 PostgreSQL 伺服器:致命:使用者對等驗證失敗
這是我目前的 pg_hba.conf 檔案:
我不知道還能嘗試什麼,我非常感謝任何幫助!
謝謝!
答案1
考慮第一條規則pg_hba.conf
:
本地 所有 所有對等
這意味著對於所有本地連接,Unix 用戶應該與 db 用戶相同。顯然這不是你的 php 程式碼的情況,因此失敗使用者對等身份驗證失敗...。
第二條規則會讓您的腳本連接,但它會被忽略,因為第一個規則優先:
本地所有所有信任
此規則意味著允許所有本地連接,無需密碼且無需檢查任何身份。
如果您同意,只需刪除第一條規則,然後重新載入 postgresql 服務以使變更生效。
其他規則不應該與問題相關,因為它們與 TCP 連線相關,並且根據錯誤訊息,這不是您的腳本使用的方法,它試圖透過預設的 Unix 網域套接字進行連線。