Metadata-Version: 2.4
Name: django-pgstats
Version: 1.6.0
Summary: Commands and models for tracking internal postgres stats.
License: BSD-3-Clause
License-File: LICENSE
Author: Wes Kendall
Requires-Python: >=3.10.0,<4
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Dist: django (>=4.2)
Project-URL: Documentation, https://django-pgstats.readthedocs.io
Project-URL: Homepage, https://github.com/AmbitionEng/django-pgstats
Project-URL: Repository, https://github.com/AmbitionEng/django-pgstats
Description-Content-Type: text/markdown

# django-pgstats

`django-pgstats` provides commands and models for tracking internal postgres stats. Specifically, the `IndexStats` model stores stats about postgres indices and the `TableStats` model stores stats about postgres tables.

Postgres stat tables contain global statistical information. `django-pgstats` is meant to be executed periodically so that one can later analyze table and index usage. This is done by periodically calling `python manage.py snapshot_pgstats` using a task runner such as [Celery](http://www.celeryproject.org/).

Stats are stored as JSON fields in the respective `IndexStats` and `TableStats` models. Each key in the JSON field is in the format of `{schema}.{table}` for table stats or `{schema}.{table}.{index}` for index stats.

## Compatibility

`django-pgstats` is compatible with Python 3.10 - 3.14, Django 4.2 - 6.0, Psycopg 2 - 3, and Postgres 14 - 18.

## Documentation

[View the django-pgstats docs here](https://django-pgstats.readthedocs.io/)

## Installation

Install `django-pgstats` with:

    pip3 install django-pgstats
After this, add `pgstats` to the `INSTALLED_APPS` setting of your Django project.

## Contributing Guide

For information on setting up django-pgstats for development and contributing changes, view [CONTRIBUTING.md](CONTRIBUTING.md).

## Creators

- @wesleykendall (Wes Kendall)
- @tomage (Tómas Árni Jónasson)


