我正在尝试使用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
的基本映像中遇到了同样的问题,但这为我修复了它。