该仓库为openGauss的python驱动。
推荐使用python3,请在服务器上装python3和python3-devel
yum install python3 python3-devel
python驱动的打包需要依赖openGauss-server编译的libpq,请参照 openGauss使用命令编译代码
下载 openGauss-connector-python-psycopg2
仓库代码,进入到根目录下,执行
sh build.sh -bd /data/compile/openGauss-server/dest/ -v 5.0.0
说明
-bd: 指定openGauss数据库构建结果目录
-v: 指定构建包的版本号。不指定则默认为5.0.0
编译完成后的驱动,在 output
目录下。
社区每日构建,提供三套环境已经编译好的驱动包供使用,下载路径如下:
其中 <VERSION> 为当前最新的版本号。
openEuler-aarch64:
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/arm/openGauss-<VERSION>-openEuler-aarch64-Python.tar.gz
CentOS-x86_64:
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/x86/openGauss-<VERSION>-CentOS-x86_64-Python.tar.gz
openEuler-x86_64:
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/x86_openEuler/openGauss-<VERSION>-openEuler-x86_64-Python.tar.gz
也可以在官网下载页面的openGauss Connectors部分下载各版本已发布的驱动包,下载好之后,需对软件包的完整性进行校验,操作步骤如下:
(1)计算下载包的sha256值(以6.0.1版本发布包为例,其他版本操作相同)
sha256sum openGauss-Python-6.0.1-openEuler22.03-aarch64.tar.gz
(2)在官网下载页面的openGauss Connectors部分中复制对应驱动包的sha256值,与步骤(1)计算出的sha256值做对比,如果一致则可以确认下载下来的包是完整的,否则需要重新下载。
解压安装包后,会得到两个目录 lib
和 psycopg2
。
接下来您需要将 psycopg2 目录拷贝到 Python 解释器的 site-packages 下,让 python 可以索引到
可以通过如下指令来查找 site-packages 目录所在位置:
python -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())"
# output: /usr/lib/python3.6/site-packages
确定 site-packages 的目录位置后,将 psycopg2 文件夹整个拷贝该目录下,并授权便于其他用户使用
cp -r psycopg2 [/path/to/site-packages/] && chmod 755 [/path/to/site-packages/]psycopg2
安装包中的另一个目录 lib
是 psycopg2 依赖的 libpq 等 C 动态库文件。
这个目录中的文件可能会和系统的动态库存在重名冲突的问题,
所以建议将应用程序和 lib 目录存放到单独的一个系统用户下和系统自带库进行隔离,避免影响系统其他工具。
切换到运行用户下,执行如下命令进行设置:
echo "export LD_LIBRARY_PATH=[/path/to/lib]:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
这样就安装完成了。
import psycopg2
# dsn 格式
conn = psycopg2.connect("postgres://user:password@ip1:port,ip2:port:.../dbname?target_session_attrs=[any|read-write]")
# key-value 格式
conn = psycopg2.connect(host="ip1[,ip2]",
port=port1,
database=db,
user=user,
password=password,
target_session_attrs="read-write")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型