在AWS上使用psycopg2连接PostgreSQL给出错误SCRAM认证需要libpq版本10或以上



我正在尝试使用Python中的psycopg2访问AWS上的PostgreSQL。连接调用失败,并显示错误消息:

SCRAM authentication requires libpq version 10 or above
>>> c = psycopg2.connect(dbname="test", user="user", password="***", host="HOSTNAME")
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/var/app/venv/staging-LQM1lest/lib64/python3.8/site-packages/psycopg2/__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: SCRAM authentication requires libpq version 10 or above

使用yum list installed检查libpq的安装版本,看起来好像安装了10以上的版本:

libpq.aarch64                    14.3-2.amzn2.0.2                    @amzn2extra-postgresql14

操作系统是Amazon Linux 2Python是Python 3.8.16

任何帮助都将非常感激。彼得。

使用psycopg2-binary包(NOT)psycopg2)

pip install psycopg2-binary

然后在代码中像往常一样导入:

import psycopg2

我在AWS lambdapublic.ecr.aws/lambda/python:3.9的基本映像中遇到了同样的问题,但这为我修复了它。

相关内容

  • 没有找到相关文章

最新更新