42.7. Procédures de trigger sur événement en PL/Tcl
Les procédures de trigger sur événement peuvent être écrites en
PL/Tcl. PostgreSQL™ requiert
qu'une procédure qui doit être appelée comme trigger sur
événement doit être déclarée comme une fonction sans arguments
et comme renvoyant le type event_trigger.
L'information provenant du gestionnaire des triggers est passée
au corps de la procédure avec les variables suivantes :
-
$TG_event
-
Le nom de l'événement pour lequel le trigger a été
déclenché.
-
$TG_tag
-
La balise de la commande pour laquelle le trigger a été
déclenché.
La valeur de retour de la procédure trigger est ignorée.
Voici un petit exemple de procédure de trigger sur événement
qui lève un message NOTICE à chaque
fois qu'une commande supportée est exécutée :
CREATE OR REPLACE FUNCTION tclsnitch() RETURNS event_trigger AS $$
elog NOTICE "tclsnitch: $TG_event $TG_tag"
$$ LANGUAGE pltcl;
CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE PROCEDURE tclsnitch();