async_gaussdb-gaussdb is a database interface library designed specifically for GaussDB and openGauss databases with Python/asyncio. This fork of async_gaussdb is optimized for GaussDB/openGauss compatibility, including native SHA256 authentication support and enhanced features for enterprise database environments.
async_gaussdb-gaussdb requires Python 3.8 or later and is specifically designed for GaussDB and openGauss databases. It includes compatibility fixes and optimizations for openGauss-specific features and enterprise database requirements.
Key Features for GaussDB/openGauss: * Native SHA256 authentication support * Optimized for openGauss protocol compatibility * Enhanced error handling for enterprise database features * Support for GaussDB-specific data types and functions * Comprehensive test suite adapted for openGauss
The project documentation can be found here.
async_gaussdb-gaussdb maintains the high performance characteristics of the original async_gaussdb library while being optimized for GaussDB/openGauss environments.

The above results are a geometric mean of benchmarks obtained with PostgreSQL client driver benchmarking toolbench in June 2023 (click on the chart to see full details).
async_gaussdb-gaussdb implements the GaussDB/openGauss server protocol natively and exposes its features directly, optimized for enterprise database environments:
- SHA256 authentication - Native support for GaussDB/openGauss authentication
- prepared statements - Optimized for openGauss query execution
- scrollable cursors - Full cursor support for large result sets
- partial iteration on query results - Memory-efficient data processing
- automatic encoding and decoding of composite types, arrays, and any combination of those
- straightforward support for custom data types
- openGauss compatibility - Comprehensive test suite and error handling
- Enterprise features - Optimized for production GaussDB environments
async_gaussdb-gaussdb is available on PyPI. When not using GSSAPI/SSPI authentication it has no dependencies. Use pip to install:
$ pip install async-gaussdb
If you need GSSAPI/SSPI authentication, use:
$ pip install 'async-gaussdb[gssauth]'
For more details, please see the documentation.
import asyncio
import async_gaussdb
async def run():
# Connect to GaussDB/openGauss
conn = await async_gaussdb.connect(
user='omm',
password='your_password',
database='postgres',
host='127.0.0.1',
port=5432
)
# Execute queries with full GaussDB support
values = await conn.fetch(
'SELECT * FROM mytable WHERE id = $1',
10,
)
await conn.close()
asyncio.run(run())
This library includes enhanced support for GaussDB and openGauss databases:
import asyncio
import async_gaussdb
async def run():
# Connect with SHA256 authentication (GaussDB/openGauss specific)
conn = await async_gaussdb.connect(
user='omm',
password='your_password',
database='postgres',
host='127.0.0.1',
port=5432
)
# Use GaussDB-specific features
# The library automatically handles openGauss protocol differences
values = await conn.fetch(
'SELECT * FROM mytable WHERE id = $1',
10,
)
await conn.close()
asyncio.run(run())
A Dockerfile is provided for development with openGauss:
# Build the development image
docker build -t async_gaussdb-gaussdb-dev .
# Run the container
docker run -it async_gaussdb-gaussdb-dev
async_gaussdb-gaussdb is developed and distributed under the Apache 2.0 license.