Django postgres refresh materialized views
Project description
Installation
$ [sudo] pip install django-postgres-refresh-matviews
How it works
refresh_pg_matviews
- refresh allpg_matviews
matviewsrefresh_pending_matviews
- refreshMatview
model matviews:repeat_seconds
- seconds interval to refresh matviewis_pending
- setTrue
to force refresh
settings.py
INSTALLED_APPS+=['django_postgres_refresh_matviews']
migrate
$ python manage.py migrate
Examples
from django_postgres_refresh_matviews.utils import refresh_pg_matviews
refresh_pg_matviews()
from django_postgres_refresh_matviews.models import Matview
from django_postgres_refresh_matviews.utils import refresh_pending_matviews
Matview.objects.get_or_create(schemaname='public',matviewname='matview1')
refresh_pending_matviews()
Matview.objects.filter(schemaname='public').update(is_pending=False)
Log
from django_postgres_refresh_matviews.models import Log
for l in Log.objects.filter(schemaname='public',matviewname='matview1'):
l.started_at, l.completed_at
cli
$ python manage.py clear_matviews # clear matviews
$ python manage.py init_matviews # init postgres matviews
$ python manage.py refresh_pg_matviews # refresh pg_matviews
$ python manage.py refresh_pending_matviews # refresh pending Matview matviews
raw sql
INSERT INTO refresh_matview(schemaname,matviewname)
SELECT schemaname,matviewname
FROM pg_matviews
ON CONFLICT (schemaname,matviewname) DO NOTHING;
UPDATE refresh_matview SET is_pending=true
WHERE schemaname='public' AND matviewname='matview1';
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-postgres-refresh-matviews-2020.12.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | db36e039edecd87df71b9ae212dd5dcd2855975ce9dc9176a429512520effc24 |
|
MD5 | 86e8eec1b80a5c0e3e861ea3e5a4655a |
|
BLAKE2b-256 | 3de1690b1151813b7321af5068e3cfa9d8fab460e4b27abe1b1226d84f802962 |