1、postgresql在14版本之前,默认的加密方式是md5,从14版本开始,密码的加密方式默认是scram-sha-256。
2、postgresql 在10+(含10)版本开始支持SCRAM-SHA-256。
3、低版本的驱动不支持SCRAM-SHA-256,如JDBC会出现The authentication type 10 is not supported错误信息。
是否支持scram的驱动参考表:List of drivers - PostgreSQL wiki。
4、报错解决
1)升级客户端版本驱动
2)会话级别修改password_encryption 参数
5、查看用户的加密方式:
select usename,passwd from pg_shadow where passwd not like 'SCRAM-SHA-256%';
select rolname,rolpassword from pg_authid where rolpassword not like 'SCRAM-SHA-256%';
参考:
SCRAM Authentication in RDS for PostgreSQL 13 | AWS Database Blog