PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Programmation serveur » PL/Perl -- Langage de procédures Perl » Triggers sur événements avec PL/Perl

43.7. Triggers sur événements avec PL/Perl #

PL/Perl peut être utilisé pour écrire des fonctions trigger sur événement. Dans ce type de fonctions, la référence hachée $_TD contient des informations sur l'événement du trigger. $_TD est une variable globale, qui obtient une valeur locale séparée à chaque invocation du trigger. Les champs disponibles via $_TD sont :

$_TD->{event}

Le nom de l'événement pour lequel le trigger a été déclenché.

$_TD->{tag}

La balise de la commande pour laquelle le trigger a été déclenché.

Le code de retour de la fonction trigger est ignoré.

Voici un exemple de fonction trigger sur événement, illustrant certaines des informations ci-dessus :

CREATE OR REPLACE FUNCTION perlsnitch() RETURNS event_trigger AS $$
  elog(NOTICE, "perlsnitch: " . $_TD->{event} . " " . $_TD->{tag} . " ");
$$ LANGUAGE plperl;

CREATE EVENT TRIGGER perl_a_snitch
    ON ddl_command_start
    EXECUTE FUNCTION perlsnitch();