- Added Python 3.13 support, dropped Python 3.8. Added Postgres17 support by @wesleykendall in #16.
- Add missing py.typed file by @max-muoto in #15.
- Improve type-checking for public interface by @max-muoto in #14
-
Support transaction-level locks by @wesleykendall in #13.
Use
pglock.advisory(xact=True)
for transaction-level advisory locks. Both context manager and functional invocations are supported.
- Django 5.1 support, drop Django 3.2 support by @wesleykendall in #12.
- Fix ReadTheDocs builds. [Wesley Kendall, f1b9c5c]
-
Django 5.0 compatibility [Wesley Kendall, 5197c72]
Support and test against Django 5 with psycopg2 and psycopg3.
- Added Opus10 branding to docs [Wesley Kendall, 80e8466]
-
Add Python3.12 support and use Mkdocs for documentation [Wesley Kendall, d706755]
Python 3.12 and Postgres 16 are supported now, along with having revamped docs using Mkdocs and the Material theme.
Python 3.7 support was dropped.
-
Added Python 3.11, Django 4.2, and Psycopg 3 support [Wesley Kendall, 62c86bf]
Adds Python 3.11, Django 4.2, and Psycopg 3 support along with tests for multiple Postgres versions. Drops support for Django 2.2.
-
Support PG15 [Wesley Kendall, 31edec7]
PG15 is supported and tested
- Updated with the latest Python project template [Wesley Kendall, 109f794]
-
Fix PG10-13 issues. [Wesley Kendall, bf2036b]
The waitstart column in the pg_locks view wasn't introduced until Postgres14. If using earlier versions,
django-pglock
will return null for these columns.
-
Initial release of
django-pglock
[Wesley Kendall, 731e0cc]django-pglock
performs advisory locks, table locks, and helps manage blocking locks. Here's some of the functionality at a glance:pglock.advisory
for application-level locking, for example, ensuring that tasks don't overlap.pglock.model
for locking an entire model.pglock.timeout
for dynamically setting the timeout to acquire a lock.pglock.prioritize
to kill blocking locks for critical code, such as migrations.- The
PGLock
andBlockedPGLock
models for querying active and blocked locks. - The
pglock
management command that wraps the models and provides other utilities.