postgresql连接报错Invalid SCRAM client initialization

背景:

本地idea连接正常,测试服务器报错如下图:

PostgreSQL JDBC 驱动是postgresql-42.7.8,项目yml连接方式也是保持干净,但就是一直报这个错误.

原因排查:

postgresql10版本以上支持2种连接认证,1是md5,2是scram-sha-256,查询方式如下:

复制代码
SHOW password_encryption;

原因是服务端配置的是scram-sha-256,但是客户端还在用md5认证,认证方式不匹配.

ps:pgsql有vastbase等变种版本,我的是原始pg14 select version();可以查询版本.

问题解决:

修改认证为md5

  • 修改/var/lib/postgresql/data下pg_hba.conf,注释scram-sha-256,新增md5(有则忽略)

  • 修改/var/lib/postgresql/data下postgresql.conf的认证方式,改为md5

  • 重启数据库,查询确认

    --返回是md5
    SHOW password_encryption;

    --重新设置密码
    ALTER USER postgres WITH PASSWORD 'xxxxx';

  • 重启项目服务

本方式是使用旧的权限认证,最好还是使用新的scram-sha-256,有空研究下原因

scram-sha-256解决思路

1.密码不带特殊符号

  1. 加 JVM 参数禁用 JDK FIPS 模式

-Dcom.sun.security.fips=false

2.重新设置密码

  1. Postgres 版本被魔改,重新安装
相关推荐
未来之窗软件服务2 小时前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰2 小时前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
JQLvopkk2 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon4 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛4 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员4 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·5 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户982863025685 小时前
pg内核实现细节
数据库
飞升不如收破烂~5 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
workflower5 小时前
业务需求-假设场景
java·数据库·测试用例·集成测试·需求分析·模块测试·软件需求