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 版本被魔改,重新安装
相关推荐
这个DBA有点耶4 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶6 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技6 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend7 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence10 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql