Skip to main content

A simple Python DB-API 2 adapter for PostgreSQL

Project description

ocpgdb is a Python DB-API 2 (aka pep-0249) adapter for PostgreSQL. The code is simple, modular and extensible, with most of the intelligence implemented in Python with only a small C wrapper around libpq. The module is used in several production systems, and while there is little documentation at this stage, most things work as described in pep-0249.

Unlike most Python PG adapters, this module uses the newer binary PG protocol 3 - in many cases this protocol is faster and safer, although the protocol is less forgiving of implicit type-casting. As an example, other adapters will accept:

curs.execute('SELECT * FROM foo WHERE bah > %s', '2006-1-1')

whereas protocol 3 requires:

curs.execute('SELECT * FROM foo WHERE bah > %s', datetime.datetime(2006,1,1))

or an explicit cast:

curs.execute('SELECT * FROM foo WHERE bah > %s::timestamp', '2006-1-1')

The module requires Python 2.3 or newer, and PostgreSQL 8.1 or newer. If mx.DateTime is available, use_mx_datetime=True can be passed to the connect() function to enable support. To install, unpack the tar file, and as root run:

python setup.py install

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page