当pg_hba.conf文件配置的认证方法为md5,但服务端用户密码采用SCRAM加密时,服务端会自动采用SCRAM认证。
演示过程如下:
$ psql -c "SELECT rule_number,type,address,database,user_name,auth_method FROM pg_hba_file_rules;"
rule_number | type | address | database | user_name | auth_method
1 | local | | {all} | {all} | trust
2 | host | 0.0.0.0 | {all} | {all} | md5
(2 rows)
$ psql -h 192.168.20.200 -c "SELECT system_user,current_setting('password_encryption')"
Password for user postgres:
system_user | current_setting
--------------+-----------------
md5:postgres | scram-sha-256
(1 row)
注:SQL查询里可以使用system_user来获取pg_hba.conf里配置的客户端认证方法。