J'ai un système où je ne peux pas contrôler la conception de certaines tables (répliquées via Slony-I), et j'ai donc une série de ce que nous appelons des «tables fantômes», où j'extrais des informations des tables répliquées et le stocker dans le formulaire traité dont j'ai besoin, tout en supprimant les enregistrements que je veux ignorer.
En ce moment, après avoir configuré une nouvelle réplique, j'exécute une mise à jour et je me redéfinis une valeur (par exemple, UPDATE tablename SET field=field
) pour forcer l'exécution du déclencheur, mais certaines tables sont des millions d'enregistrements, et en croissance, et cela peut prendre 30 minutes . (et puis il y a aussi le vide).
Y a-t-il un meilleur moyen de le déclencher, ou un moyen d'écrire une fonction de telle sorte qu'elle fonctionne avec une entrée passée ou NEW
selon le contexte d'appel? Je suis réticent à garder deux fonctions différentes, car j'ai vu trop de fois où l'une est mise à jour et pas l'autre.
Réponses:
Cela peut être fait en utilisant le modèle suivant:
la source