Skip to main content

Postgres audit triggers for Django

Project description

Postgres audit database via triggers
====================================

This app sets up a postgres audit database via triggers.
See https://wiki.postgresql.org/wiki/Audit_trigger_91plus
and https://github.com/2ndQuadrant/audit-trigger/
for more information.


Installation
============
`pip install postgres_audit_triggers`


Usage
=====

- Add the `postgres_audit_triggers` app to `INSTALLED_APPS` *before* any apps that will be audited:

```
# settings.py
INSTALLED_APPS = {
'django.contrib.postgres',
'postgres_audit_triggers',
...
}
```

- Install the `postgres_audit_triggers` middleware:

```
# settings.py
MIDDLEWARE = [
...
'postgres_audit_triggers.middleware.AuditMiddleware',
]
```

This middleware will add metadata to the audit row. To send metadata, the client must send a
`POSTGRES_AUDIT_TRIGGERS_META` header in the request to your Django view. The data within
that header must be JSON serializable to a python dictionary.

- Run migrations: `python manage.py migrate postgres_audit_triggers`

- Add `audit_trigger = True` to the Model Meta options of the models that will be audited:

```
# models.py
class MyAuditedModel(models.Model):
...
class Meta:
audit_trigger = True
...
```

- Make migrations: `python manage.py makemigrations`
- Run migrations: `python manage.py migrate`

Triggers introduce performance overhead. In certain cases, you may need to disable triggers while
performing bulk operations. To turn off all triggers, a decorator is provided:

```
from postgres_audit_triggers.decorators import disable_triggers


@disable_triggers
def foo():
# auditing will not be triggered on any database operations performed here
Bar.objects.bulk_create(items)
```

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

postgres-audit-triggers-1.0.1.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file postgres-audit-triggers-1.0.1.tar.gz.

File metadata

File hashes

Hashes for postgres-audit-triggers-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9b2746d3bc5632c04cfb9f4d1fdb77431777c21f8fc54aa4a7e3ebac47d91918
MD5 5d2a01d0db5f70b9047bb09f435b18f3
BLAKE2b-256 119baebaa996f6a2690e7c60f6a880a81ebde636de1111864fb72e802ec7b3da

See more details on using hashes here.

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