【PostgreSQL】FATAL: Ident authentication failed for user "XXX" 錯誤訊息
修改pg_hba.conf參數
vi /var/lib/pgsql/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all all peer改trust
# IPv4 local connections:
host all all 127.0.0.1/32 ident改md5
# IPv6 local connections:
host all all ::1/128 ident md5
service postgresql-10 restar
一開始先設定 trust, 確定 client 端連線沒問題後, 再改為 md5
trust
|
無條件地允許連接。 允許任何可以與PostgreSQL資料庫伺服器連接的使用者身份登入,不需要PASSWORD或者其他任何認證。 |
reject |
無條件拒絕連接。常用於從一個組中“過濾出”特定主機 例如一個reject行可以阻塞特定的主機連接,而後面一行允許特定網路中的其餘主機進行連接 |
md5和password認證 |
md5認證方式為雙重md5加密,password指純文字密碼,不能在非信任網路使用password方式 |
peer |
從作業系統獲得用戶端的作業系統使用者,並且檢查它是否匹配被請求的資料庫用戶名,只對本地連接可用。 |
修改
# TYPE DATABASE USER ADDRESS METHOD
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
或
local all postgres peer
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
可以登入後 資料庫存取時可能會有問題
這時要把資料庫的資料指定給特定使用者解決這個問題
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO XXXX