Skip to main content

Library for simple PostgreSQL connection and transaction management

Project description

zpgdb - Python library for simple PostgreSQL connection and transaction management

zpgdb is a small library to ease the management of PostgreSQL database connection between your app modules and packages, and provides a simple context manager to wrap code that should run database commands inside a transaction, with automatic commit or rollback.

Database connections are reused and one connection is opened by thread. Only one connection type is permitted at this time (eg, the same host, port, user and password and database).

Persistent connections are tested before used for commands, and they are automatically reopened in case they were lost, dealing with PostgreSQL restarts transparently.

How to install

pip install zpgdb

How to use

# You can import the module on every package/module you want to share
# the database connection.
import zpgdb as db

# The access configuration needs to be done only one time, preferably
# inside your __main__ block.
db.config_connection(host, port, user, password, database)

# You can get the connection object directly. `getdb()` will start a
# new connection if there is no connection opened with the actual thread.
dbh = db.getdb()

# Or you can start a context manager getting a cursor, with automatic
# commit on finish, or rollback in case there is a exception thrown.
with db.trans() as c:
	for row in c:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zpgdb-0.5.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

zpgdb-0.5.0-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

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