Automatyczne odświeżanie zmaterializowanego widoku PostgreSQL bez użycia wyzwalaczy


11

Utworzyłem zmaterializowany widok o nazwie view_table_Aw tabeli opakowań danych obcych table_A. Chcę, aby widok był automatycznie aktualizowany po każdej nowej wstawce table_A. Próbowałem to zrobić za pomocą wyzwalaczy, ale to nie zadziałało.

Czy możliwe jest automatyczne odświeżanie zmaterializowanego widoku bez użycia wyzwalaczy?

Odpowiedzi:


11

Jak powiedział w komentarzu a_horse_with_no_name :

Nie, to niemożliwe. Potrzebujesz jakiegoś harmonogramu, który uruchamia odświeżony widok zmaterializowany, np. Pg_cron lub coś na poziomie systemu operacyjnego - a_horse_w_nazwie

Alternatywnie, jeśli potrzebujesz MATERIALIZED VIEWodświeżenia po uruchomieniu SELECT, po prostu usuń MATERIALIZEDi użyj zwykłego VIEW. Materializacja dodaje tylko okresową pamięć podręczną. Jest potrzebny tylko wtedy, gdy samo zapytanie jest zbyt wolne lub gorące.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.