Linux

使用者“postgres”的身份驗證失敗

  • January 7, 2021

我在 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 文件,這應該可以修復

  1. 在作業系統上切換到 postgres 使用者
  2. 執行psql 應該連接到 PostgreSQL
  3. 執行show hba_file; 應該看到更正 hba_file 目錄並編輯該文件。
  4. 重新載入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 後,它會顯示行錯誤。

引用自:https://dba.stackexchange.com/questions/282617