遠端連線到 PostgreSQL 時,遇到錯誤訊息:
SCRAM authentication requires libpq version 10 or above
SCRAM authentication requires libpq version 10 or above
SCRAM authentication requires libpq version 10 or above
這個問題主要是新舊版本儲存使用者密碼的方法不同所導致的,只要讓 PostgreSQL 支援 MD5 儲存密碼即可。
開啟 postgresql.conf
修改 password_encryption
參數:
password_encryption = md5
password_encryption = md5
password_encryption = md5
再來修改 pg_hba.conf
,讓使用者驗證的時候使用 MD5 方式驗證:
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all zeroplex 0.0.0.0/0 md5
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all zeroplex 0.0.0.0/0 md5
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 host all zeroplex 0.0.0.0/0 md5
設定檔修改後記得重新啟動 PostgreSQL。
設定檔改好、啟動也沒問題,就來更新使用者密碼,這樣一來,PostgreSQL 的密碼儲存方式就會改用 MD5:
ALTER USER zeroplex WITH PASSWORD 'your-password'
ALTER USER zeroplex WITH PASSWORD 'your-password'
ALTER USER zeroplex WITH PASSWORD 'your-password'