作者:IT邦德
中國DBA聯盟(ACDU)成員,目前從事DBA及程式程式設計
(Web\java\Python)工作,主要服務于生産制造
現擁有 Oracle 11g OCP/OCM、
Mysql、Oceanbase(OBCA)認證
分布式TBase\TDSQL資料庫、國産達夢資料庫以及紅帽子認證
從業8年DBA工作,在資料庫領域有豐富的經驗
B站主播Oracle、Mysql、PG實戰課程,請搜尋:jeames007
微信:jem_db
QQ:2243967774
詳情關注公衆号:IT邦德
QQ群:168797397、587159446
前言
目前PG的最新版本已經更新到了13.3,在連接配接用戶端的時候,有authentication method 10 not supported這樣的報錯,故整理了以下參數檔案的解讀及處理方式,供大家參考
1.現象
PG 13.3版本用戶端連接配接報如下錯誤
authentication method 10 not supported
檢視官網說明,總結出如下解決方案
2.處理方法
2.1 檢視版本
postgres=# select version();
postgres=# show server_version;
2.2 檢視使用者加密算法
從上圖可以看出,最新的PG13.3加密算法已做了更改,故需要調整參數檔案
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5
local replication all trust
說明如下:
每一行的格式為:
連接配接方式 連接配接的資料庫 連接配接的使用者 連接配接的主機IP 認證方式
【連接配接方式】
local
這條記錄比對通過 Unix 域套接字進行的聯接企圖
host
這條記錄比對通過TCP/IP網絡進行的聯接嘗試
【認證方法】
trust:無條件地允許聯接,不需要密碼
reject:聯接無條件拒絕,常用于從一個組中"過濾"某些主機
md5:要求用戶端提供一個 MD5 加密的密碼進行認證
password:進階的加密方式使用(PG13.3需要用這種方式scram-sha-256)
2.3 修改參數檔案如下
host all all 0.0.0.0/0 password
##重新加載配置檔案
postgres=# SELECT pg_reload_conf();
postgres=# SELECT name,setting,source,enumvals FROM pg_settings WHERE name = 'password_encryption';
再次用戶端連接配接OK
本文如有錯誤或不完善的地方請大家多多指正,留言或 QQ 皆可,您的批評指正是我寫作的最大動力!