环境
centos7.9,postgres14.2,python3.11
问题
最近在一台新机器搭建了python3环境,在使用python连接pg数据库,也就是安装psycopg2时提示了 error: SCRAM authentication requires libpq version 10 or above 的错误
解决方案
经过一番查找资料,各种坑,有让你装psycopg2-binary二进制版本的,有让你升libpq10版本的,却又不告诉你怎么升级,所以最终都没解决问题,其实不用这么麻烦,因为centos默认就有pg9的开发环境,在连接pg11以上的版本就会有这个错误,所以目标就是升级pg的开发环境即可,此下俩个方法升级:
方法一:
安装pg数据,在有pg数据库的服务器直接可安装psycopg2库
yum install postgresql
但是这种方法比较笨重
方法二:
升级pg开发环境 现在让你升级pg10开发环境的文档都是过时了的,目前最低的开发环境都是pg12 添加源
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装pg12-devel开发环境
yum install postgresql12-devel -y
如果报llvm-toolset-7-clang >= 4.0.1
继续安装
sudo yum install -y epel-release
sudo yum install -y centos-release-scl
sudo yum install -y llvm-toolset-7-clang
再安装pg12-devel成功,收工