基于Psycopg开发
Psycopg是一种用于执行SQL语句的PythonAPI,可以为GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。它具有客户端游标和服务器端游标、异步通信和通知、支持“COPY TO/COPY FROM”功能。支持多种类型Python开箱即用,适配GaussDB数据类型。通过灵活的对象适配系统,可以扩展和定制适配。Psycopg2兼容Unicode。
GaussDB数据库提供了对Psycopg2特性的支持,并且支持psycopg2通过SSL模式连接。
操作系统 |
平台 |
Python版本 |
---|---|---|
EulerOS V2.0SP5 |
|
3.8.5 |
SUSE 12.5 |
|
3.8.5 |
EulerOS V2.0SP9 |
|
3.7.4 |
EulerOS V2.0SP10、Kylin v10、UnionTech20 |
|
3.7.9 |
EulerOS V2.0SP11 |
|
3.9.11 |
Huawei Cloud EulerOS 2.0 |
|
3.9.9 |
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库所在目录,需根据文件实际存储路径修改。