Linux
使用者“postgres”的身份驗證失敗
我在 Cent0S8 上使用 PostgreSQL12,並且可以使用以下命令連接到 PostgreSQL:
sudo -u postgres psql
但是,當我嘗試使用以下方式連接時:
psql -U postgres -h localhost
我收到以下錯誤:
psql: error: count not connect to server: FATAL: Ident authentication failed for user "postgres"
每個選項都設置
trust
在我的pg_hba.conf
文件中,並且在進行這些更改後我成功地重新啟動了伺服器。有誰知道我需要更改什麼才能使用該
psql -U postgres -h localhost
命令登錄?
如果您正在編輯錯誤的 hba 文件,這應該可以修復
- 在作業系統上切換到 postgres 使用者
- 執行
psql
應該連接到 PostgreSQL- 執行
show hba_file;
應該看到更正 hba_file 目錄並編輯該文件。- 重新載入postgresql
lloyd@localhost:~$ sudo su - postgres
postgres@localhost:~$ psql
psql (13.1 (Ubuntu 13.1-1.pgdg18.04+1), server 12.5 (Ubuntu 12.5-1.pgdg18.04+1)) 輸入“help”獲取幫助。
postgres=# 顯示 hba_file ;
hba_file
/etc/postgresql/12/main/pg_hba.conf(1 行)
postgres=# 選擇 pg_reload_conf();
如果不是,最後一個查詢應該返回 true,hba 文件中存在錯誤,因此 PostgreSQL 不會刷新 hba 文件。所以你應該在文件中尋找錯誤。您還可以查看日誌。重新載入 PostgreSQL 後,它會顯示行錯誤。