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.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c35a28956213ec3f63a0d7aa9b4333b04de06b6db097fc7d19e2679843faa111 |
|
MD5 | 4723edc0aaff5379df9383a3124b2b39 |
|
BLAKE2b-256 | 736c4955f43df7899c74e0750d443e922ed8e2674dc598a9b0625451d1ebb31e |