Aktualisieren Sie eine materialisierte PostgreSQL-Ansicht automatisch, ohne Trigger zu verwenden


10

Ich habe eine materialisierte Ansicht erstellt, die view_table_Ain einer fremden Daten-Wrapper-Tabelle benannt ist table_A. Ich möchte, dass die Ansicht nach jedem neuen Einfügen automatisch aktualisiert wird table_A. Ich habe versucht, dies mit Triggern zu tun, aber es hat nicht funktioniert.

Ist es möglich, eine materialisierte Ansicht automatisch zu aktualisieren, ohne Trigger zu verwenden?

Antworten:


10

Wie a_horse_with_no_name in einem Kommentar sagte:

Nein, das ist nicht möglich. Sie benötigen eine Art Scheduler, der eine materialisierte Aktualisierungsansicht ausführt, z. B. pg_cron oder etwas auf Betriebssystemebene - a_horse_with_no_name

Wenn Sie alternativ eine benötigen MATERIALIZED VIEW, die beim Ausführen aktualisiert wird SELECT, entfernen Sie sie einfach MATERIALIZEDund verwenden Sie eine reguläre VIEW. Die Materialisierung fügt nur einen periodischen Cache hinzu. Es wird nur benötigt, wenn die Abfrage selbst unerschwinglich langsam oder heiß ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.