Primary Authors
@wesleykendall (Wes Kendall)
Route postgres connections and hook into cursor execution
django-pgconnection provides primitives for overriding Postgres connection and cursor objects, making it possible to do the following:
Hook into SQL generation. For example, it is not possible to log every time a SQL statement is executed in Django or annotate SQL with comments so that additional metadata is logged when executing queries. The pgconnection.pre_execute_hook context manager allows one to hook into SQL before it is executed.
Route database traffic to a different database. Although Django provides the ability to construct custom database routers, routing to a different database has to be instrumented throughout code and can be tedious and error prone. The pgconnection.route context manager can route any database operations to a different database, even if it’s an external management command that has not been instrumented to use a different database.
The documentation has examples of how to use django-pgconnection.
Install django-pgconnection with:
pip3 install django-pgconnection
After this, add pgconnection to the INSTALLED_APPS setting of your Django project.
In order to use connection routing and hooks, one must configure the DATABASES setting in settings.py like so:
DATABASES = pgconnection.configure({ 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'mydatabase', } })
For information on setting up django-pgconnection for development and contributing changes, view CONTRIBUTING.rst.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Details for the file django-pgconnection-1.0.2.tar.gz
.
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c012e789cd65bee1d514de6a4b3f90c888e599c3c2be195e7bb3627923bb7f3 |
|
MD5 | dec8cc3f04a015f2e0afc62b682fa00a |
|
BLAKE2b-256 | c7d825b81a2017be4ae497ff619cdfaf9e1b21dfc548743462dde2451558374a |
Details for the file django_pgconnection-1.0.2-py3-none-any.whl
.
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51ea5943faaa4aa4a2f953586b925ecddec852b009c004ee0b5de93d5ae162f7 |
|
MD5 | 93e3a8d5dffd54fa2ef2e5dcd12a4efb |
|
BLAKE2b-256 | ff9bbfe0bac66796011f4d99b845c7dc2ddb68faf62421df4aff1b215e5e4b6b |