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();