[PostgreSQL 14] trigger for statement explication
Bonjour,
J'essaie de comprendre le comportement du trigger
Code:
FOR EACH STATEMENT.
Voici un exemple :
Code:
1 2 3 4
| AFTER INSERT OR DELETE OR UPDATE
ON mytbl
FOR EACH STATEMENT
EXECUTE FUNCTION myfunc(); |
- Peu importe le nombre d'insertions, de mises à jour ou de suppressions dans mytbl, myfunc() ne sera exécutée qu'une seule fois, seulement à la fin des DML ?
- myfunc() exécute 8 commandes REFRESH de vues matérialisées à travers un FOR...LOOP. Mais dans le journal, je ne peux lire qu'un seul CONTEXTE : l'instruction SQL "refresh materialized view unevuemat". Plus loin, je vois un vaccum automatique et un analyze pour toutes les vues matérialisées. Les 8 vues sont-elles toutes rafraîchies de toute façon ?
Merci pour votre éclairage,