J'ai créé une vue matérialisée nommée view_table_A
sur une table d'enveloppe de données étrangère table_A
. Ce que je veux, c'est que la vue soit automatiquement mise à jour après chaque nouvelle insertion dans table_A
. J'ai essayé de le faire avec des déclencheurs mais cela n'a pas fonctionné.
Est-il possible d'actualiser automatiquement une vue matérialisée sans utiliser de déclencheurs?
Comme a_horse_with_no_name l'a dit dans un commentaire:
Non, ce n'est pas possible. Vous avez besoin d'une sorte de planificateur qui exécute l'actualisation de la vue matérialisée, par exemple pg_cron ou quelque chose au niveau du système d'exploitation - a_horse_with_no_name
Alternativement, si vous avez besoin d'un MATERIALIZED VIEW
qui s'actualise lorsque vous exécutez SELECT
, supprimez simplement MATERIALIZED
et utilisez un VIEW
normal. La matérialisation n'ajoute qu'un cache périodique. Il n'est nécessaire que lorsque la requête elle-même est trop lente ou chaude.