--- id: adbc-driver-postgresql version: "1.12.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # adbc-driver-postgresql — A libpq-based ADBC driver for working with PostgreSQL. License: permissive · Maintenance: active · Downloads: 1.8M/mo ## What it is and what it does adbc-driver-postgresql is a Python driver that wraps the PostgreSQL ADBC driver through the adbc-driver-manager, exposing a DBAPI 2.0-compatible interface for querying PostgreSQL. It enables direct Arrow table exchange, allowing efficient columnar data retrieval without intermediate serialization. The package is built on top of libpq and requires the native libadbc_driver_postgresql library to be present at install time. The driver is intended for applications that need tight integration with Arrow-based data pipelines or that benefit from columnar data representation. It follows standard DBAPI 2.0 conventions (connect, cursor, execute, fetch) while adding Arrow-specific methods like fetch_arrow_table(). Installation requires setting an environment variable to locate the compiled driver library, making setup more involved than pure-Python database packages. Use it for: - Query PostgreSQL and retrieve results as Arrow tables for use in data science workflows with pandas or polars. - Build ETL pipelines that move data from PostgreSQL to Arrow-based systems without intermediate conversion. - Integrate PostgreSQL as a data source in Arrow-native applications or analytical frameworks. - Execute SQL queries with DBAPI 2.0 semantics while leveraging Arrow's columnar performance benefits. - Develop applications requiring efficient bulk data transfer between PostgreSQL and in-memory Arrow structures. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a DBAPI 2.0-compatible Python interface to PostgreSQL via the ADBC driver manager, enabling Arrow-native data exchange with PostgreSQL databases. Yes, if you need Arrow-native PostgreSQL access and are willing to manage the native library dependency. The package is actively maintained, permissively licensed, and solves a specific use case (columnar data exchange with PostgreSQL). Install friction is moderate due to the compiled dependency and Python >=3.10 requirement, but the tradeoff is reasonable for Arrow-integrated workflows. Not necessary if you only need standard DBAPI access without Arrow benefits. ## Install pip install adbc-driver-postgresql uv add adbc-driver-postgresql poetry add adbc-driver-postgresql ## Installing adbc-driver-postgresql Before you install: Medium install friction due to platform-specific wheels and a compiled native dependency. The package requires the adbc-driver-manager runtime dependency and depends on a pre-built libadbc_driver_postgresql library. Maintenance is active with recent releases and an engaged repository. License in practice: Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions. No license-related barriers to adoption. Quickstart: import adbc_driver_postgresql.dbapi uri = "postgresql://postgres:password@localhost:5432/postgres" with adbc_driver_postgresql.dbapi.connect(uri) as conn: with conn.cursor() as cur: cur.execute("SELECT 1") print(cur.fetch_arrow_table()) Requires Python >=3.10 and the libadbc_driver_postgresql native library; ADBC_POSTGRESQL_LIBRARY environment variable must be set to the library path during installation. Verify before relying: - Whether PyArrow is required or optional for the DBAPI interface - Performance characteristics compared to standard psycopg2 or asyncpg - Support for connection pooling or async operations ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 1.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags postgresql python driver, adbc postgresql connector, dbapi postgresql interface, arrow postgresql integration, libpq python binding, postgresql arrow data exchange, adbc driver manager postgresql, arrow-integration, adbc-driver, columnar-data [View on SkillFed](https://skillfed.io/packages/adbc-driver-postgresql) · [View on PyPI](https://pypi.org/project/adbc-driver-postgresql/)