Repository URL to install this package:
|
Version:
1.9.0 ▾
|
| adbc_driver_postgresql |
| adbc_driver_postgresql.egg-info |
| tests |
| LICENSE.txt |
| MANIFEST.in |
| NOTICE.txt |
| PKG-INFO |
| README.md |
| pyproject.toml |
| setup.cfg |
| setup.py |
This package contains bindings for the PostgreSQL driver, using the driver manager to provide a DBAPI 2.0/PEP 249-compatible interface on top.
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())
Dependencies: a build of the PostgreSQL driver, and the
adbc-driver-manager Python package. Optionally, install PyArrow to
use the DBAPI 2.0-compatible interface.
Set the environment variable ADBC_POSTGRESQL_LIBRARY to the path to
libadbc_driver_postgresql.{dll,dylib,so} before running pip install.
# If not already installed
pip install -e ../adbc_driver_manager
export ADBC_POSTGRESQL_LIBRARY=/path/to/libadbc_driver_postgresql.so
pip install --no-deps -e .
For users building from the arrow-adbc source repository, you can alternately use CMake to manage library dependencies and set environment variables for you. Assuming you specify -DADBC_DRIVER_POSTGRESQL=ON you can also add -DADBC_BUILD_PYTHON=ON to define a python target.
For example, assuming you run cmake from the project root:
cmake -S c -B build --preset debug -DADBC_BUILD_PYTHON=ON -DADBC_DRIVER_POSTGRESQL=ON cmake --build build --target python
will properly build and install the Python library for you.
See CONTRIBUTING.md for details on the general build process.
A running instance of PostgreSQL is required. For example, using Docker:
$ docker run -it --rm \ -e POSTGRES_PASSWORD=password \ -e POSTGRES_DB=tempdb \ -p 5432:5432 \ postgres
Then, to run the tests, set the environment variable specifying the PostgreSQL URI before running tests:
$ export ADBC_POSTGRESQL_TEST_URI=postgresql://localhost:5432/postgres?user=postgres&password=password $ pytest -vvx
See CONTRIBUTING.md for details on the general test process.