关于华为高斯数据库出现Invalid or unsupported by client SCRAM mechanisms定位解决的过程
目录
- 前言
- 问题定位
- 问题解决
前言
最近公司有个新项目使用的是高斯数据库,因为我们的项目是直接从别的项目组拿来的,配置都是已经配好的,但是在放到正式环境上之后出现报错。起初我们以为是测试和正式的版本不一致,但是结果是版本一致的。最后这个问题搞了我们几个小时,都没法解决。
Invalid or unsupported by client SCRAM mechanisms
问题定位
因为我们测试环境是没有这个问题的,所以我们当时肯定生产环境的高斯数据库必然有什么配置和本地不一致,我将这个异常放到deepseek上搜索了一下。
该错误通常是由于PostgreSQL客户端驱动版本与服务器端配置的SCRAM认证机制不兼容导致。例如,旧版驱动可能不支持服务器要求的SCRAM-SHA-256。
我们通过命令,立马就发现了生产和测试库不一致的地方,并大致猜出是我们的驱动不支持SCRAM-SHA-256这种密码加密方式
show password_encryption_type
问题解决
添加如下依赖
<dependency><groupId>com.huaweicloud.dws</groupId><artifactId>huaweicloud-dws-jdbc</artifactId><version>8.3.0</version>
</dependency><dependency><groupId>org.postgresql</groupId><artifactId>gsjdbc4</artifactId><version>4.0.0</version>
</dependency>
连配置文件都不需要改,就解决了。