华为云云数据库GaussDB基于Psycopg开发_云淘科技

Psycopg是一种用于执行SQL语句的PythonAPI,可以为GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配GaussDB数据类型;通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode。

GaussDB数据库提供了对Psycopg2特性的支持,并且支持psycopg2通过SSL模式连接。

表1 Psycopg支持平台

操作系统

平台

Python版本

EulerOS 2.5

ARM64位
x86_64位

3.8.5

EulerOS 2.9

ARM64位
x86_64位

3.7.4

EulerOS 2.10、Kylin v10、UnionTech20

ARM64位
x86_64位

3.7.9

EulerOS 2.11、Suse 12.5

ARM64位
x86_64位

3.9.11

psycopg2在编译过程中,会链接(link)GaussDB的openssl,GaussDB的openssl与操作系统自带的openssl可能不兼容。如果遇到不兼容现象,例如提示”version ‘OPENSSL_1_1_1f’ not found”,请使用环境变量LD_LIBRARY_PATH进行隔离,以避免混用操作系统自带的openssl与GaussDB依赖的openssl。

例如,在执行某个调用psycopg2的应用软件client.py时,将环境变量显性赋予该应用软件:

export LD_LIBRARY_PATH=/path/to/gaussdb/libs:$LD_LIBRARY_PATH python client.py

其中,/path/to/pyscopg2/lib 表示GaussDB依赖的openssl库所在目录,需根据文件实际存储路径修改。

开发流程
开发步骤
示例:常用操作
Psycopg接口参考

父主题: 应用程序开发教程

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家