pgpool-II使用问题之SCRAM方法错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pgpool-II使用问题之SCRAM方法错误相关的知识,希望对你有一定的参考价值。


本机环境:centos7.9,postgres14, pgpool-II,流复制 ,一主一从

假设postgres同步已经做好,pgpool-II能启动


SCRAM方法错误

当您使用psql或navicat 账密方式连接pgpool时,会有个scram身份验证,您可能会看到如下错误:

psql: error: could not connect to server: ERROR: failed to authenticate with backend using SCRAM DETAIL: valid password not found

查了很多资料,包括最近的热门chatGPT,都只是简单的介绍

您需要在pgpool.conf中的pool_passwd参数指定的文件中定义密码

pool_passwd = pool_passwd

而在pgpool-II的目录下,会有个pool_passwd文件,如果没有,使用命令生成

pg_md5 -m -p -u postgres pool_passwd
password:

格式如下

[root@localhost pgpool-II]# cat pool_passwd
postgres:md53175bce1d3201d16594cebf9d7eb3f9d

使用 pg_md5  postgres 可以直接查看md5的值,但一般情况与pool_passwd内的值不一致

如果还不行,继续检查postgres 的pg_hba.conf文件与pgpool的pool_hba.conf 文件

保证ip4下的是trust或md5

# IPv4 local connections:
host all all 0.0.0.0/0 trust

如果还是这个错,各种重启后还是报SCRAM错误,再往下使用sql检查

select passwd from pg_shadow where usename = postgres;

一般的文章就叫你查看里面的md5密码,就没然后了,而正常情况结果其实是这样的

pgpool-II使用问题之SCRAM方法错误_pgpool-II

问题就出到这里,密码为SCRAM的格式,但我们只用md5的方式登录,所以需要修改此密码为md5的格式,如何修改呢?

进入数据库主库重新修改一遍密码即可

[root@pg1 pg1]# su postgres

bash-4.2$ psql

psql (14.7)

输入 "help" 来获取帮助信息.
postgres=# \\password postgres
Enter new password for user "postgres":
再输入一遍:
postgres=#

结果如下

pgpool-II使用问题之SCRAM方法错误_postgres_02

此时再连接pgpool的9999,问题解决。

以上是关于pgpool-II使用问题之SCRAM方法错误的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Postgresql SCRAM 身份验证问题?

mongo-cxx-driver-legacy-1.1.2 SCRAM-SHA-1身份验证错误

mongodb 错误 SCRAM-SHA-1 authentication failed for --转

MongoDB 客户端访问控制:SCRAM-SHA-1 身份验证失败,storedKey 不匹配

debian8下给postgresql9.5配置pgpool-II-3.5

MongoDBMongoDB 3.2 SCRAM-SHA-1验证方式