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 版本被魔改,重新安装
相关推荐
Ivanqhz1 天前
BURG(自底向上重写生成器)
服务器·数据库·人工智能·深度学习·算法
仍然.1 天前
Redis---主从复制
java·数据库·redis
其实防守也摸鱼1 天前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
数字化顾问1 天前
(142页PPT)PLM+ERP系统选型及建设方案建议书(附下载方式)
数据库
木白CPP1 天前
[QNX] 深入理解 Resource Manager 接口设计
linux·服务器·数据库
Shadow(⊙o⊙)1 天前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Mortalbreeze1 天前
MySQL 基础篇(五):数据操作基础 —— CRUD
linux·服务器·数据库·mysql
Shadow(⊙o⊙)1 天前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql
Studying 开龙wu1 天前
CVAT 导出崩溃排查实录:一个空壳轨迹引发的连锁反应
数据库·sqlite
PaperData1 天前
1985-2025年全国区县专利申请与授权面板数据
数据库