Kubernetes部署,如何解决:psycopg2.OperationalError:SCRAM身份验证是否需要libpq版本10或更高版本?

inkz8wg9  于 2022-12-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(985)

我在Kubernetes中部署了一个容器和一个Flask API服务。
当我运行调用API的Nifi处理器InvoqueHTTP时,出现以下错误:

File "/opt/app-root/lib64/python3.8/site-packages/psycopg2/__init__.py"

psycopg2.OperationalError: SCRAM authentication requires libpq version 10 or above
API连接到PGAAS数据库,在本地它运行正常,但在Kubernetes pod我需要libpq库,但我找不到正确的库来安装。我还尝试安装psycopg 2-binary,它抛出了相同的错误。
你知道如何解决这个问题吗?
在要求中尝试的版本:psycopg 2 ==2.9.3或psycopg 2-二进制==2.9.5

r6vfmomb

r6vfmomb1#

对于psycopg2.OperationalError(操作错误):SCRAM身份验证需要libpq版本10或更高版本,请遵循以下解决方法:

解决方案:1

https://www.exefiles.com/en/dll/libpq-dll/下载libpq.dll,然后用最新下载的替换php目录中的旧libpq.dll

解决方案:2

将身份验证更改为md5,然后重置密码并重新启动postgresql服务,以下是一步一步的操作:

  • 在C:\Program Files\PostgreSQL \13\data中找到文件postgresql.conf,然后设置密码加密= md5
  • 在C:\Program Files\PostgreSQL \13\data中找到文件pg_hba.conf,然后将所有方法更改为md5
  • 打开命令行(cmd、cmder、git bash...)并运行psql -U postgres,然后在安装postgres sql时输入密码-然后在命令行中运行ALTER USER postgres WITH PASSWORD 'new-password';更改密码
  • 重新启动服务中的postgresql服务
    解决方案:3

检查psycopg是否正在使用您计算机上可能存在的libpq的其他副本。识别该文件,然后升级或删除它。可能需要为此更新psycopg。

相关问题