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.
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b32bfa4936b07707c3662cd1740f0f9932678fc5a0897b83ce2d4a798ac7e74 |
|
MD5 | e20349854c05a6a235f2e24a0dd37fc7 |
|
BLAKE2b-256 | de86ca768af1ed6982687907f4348cd75bad0111e9deb3af447209c98e2b33a5 |
Algorithm | Hash digest | |
---|---|---|
SHA256 | a253e6ac99789887608ab66ffc051613e05218a091e3d9e4c5189a124eebce7f |
|
MD5 | 39482b979fa24cfa8fd4f0a34f9f40b1 |
|
BLAKE2b-256 | 20a9cf07d7ff2b6d3d590fcd24aa197e6468731aeb6ee9ec73050e251ad3d4c4 |