postgresql SCRAM身份验证要求libpq版本10或更高版本

tjvv9vkg  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(3)|浏览(2062)

当我尝试使用PHP连接到Postgresql服务器时,我收到了一个错误,类似于下面的错误:
无法连接到PostgreSQL服务器:SCRAM身份验证要求libpq版本10或更高版本
我使用EnterpriseDb,在我的代码中是pg_connect();,我不知道出了什么问题。

8fq7wneg

8fq7wneg1#

--- windows 7 64 / postgresql 13 ---在我的例子中:我确实从**https://www.exefiles.com/en/dll/libpq-dll/下载了libpq.dll,然后我在php目录替换了旧的libpq.dll**,最新下载的,它确实工作了!

cld4siwp

cld4siwp2#

当我在php.ini中只启用了一个扩展extension=php_pgsql.dll时,我得到了这个错误,我再次尝试取消注解extension=php_pdo_pgsql.dll,它对我来说工作得很好

pengsaosao

pengsaosao3#

您的应用程序使用链接到PostgreSQL C库libpq 9.6或更低版本的API
Postgres v10中引入了SCRAM验证。请更新应用程序端的libpq,然后重试。
如果您不需要scram-sha-256分析,您可以在Postgres SQL上切换回md5

  • 在postgresql.conf中设置password_encryption=md5,并在pg_hba.conf中将身份验证格式更改为md5
  • 重新启动PostgreSQL服务或您的计算机。
  • 将用户密码更改为MD5加密密码。
ALTER USER postgres WITH PASSWORD 'old_password'

相关问题