Updated on 2023-10-23 GMT+08:00

Psycopg-based Development

Psycopg is a Python API used to execute SQL statements and provides a unified access API for PostgreSQL and GaussDB. Applications can perform data operations based on Psycopg. Psycopg2 is the encapsulation of libpq and is implemented using the C language, which is efficient and secure. It provides cursors on both clients and servers, asynchronous communication and notification, and the COPY TO and COPY FROM functions. Psycopg2 supports multiple types of Python out-of-the-box and adapts to PostgreSQL data types. Through the flexible object adaptation system, you can extend and customize the adaptation. Psycopg2 is compatible with Unicode and Python 3.

GaussDB supports Psycopg2 features and allows Psycopg2 to be connected in SSL mode.

Table 1 Platforms supported by Psycopg

OS

Platform

EulerOS 2.5

x86_64

EulerOS 2.8

ARM64

Kylin

x86_64

Kylin

ARM64

OpenSSL of GaussDB is linked during Psycopg2 compilation. It may be incompatible with OpenSSL of the operating system. If incompatibility occurs, for example, "version 'OPENSSL_1_1_1f' not found" is displayed, use the environment variable LD_LIBRARY_PATH to isolate the OpenSSL provided by the operating system and the OpenSSL on which GaussDB depends.

For example, when the application software client.py that invokes Psycopg2 is executed, the environment variable is explicitly assigned to the application software.

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

In the preceding command, /path/to/pyscopg2/lib indicates the directory where the OpenSSL library on which GaussDB depends is located. Change it as required.