PL/Perl se puede utilizar para escribir funciones de disparador de eventos. En una función de
disparador de eventos, la referencia a hash $_TD contiene información
sobre el evento de disparo actual. $_TD es una variable global,
la cual obtiene un valor local separado para cada invocación del disparador. Los
campos de la referencia a hash $_TD son:
$_TD->{event}El nombre del evento para el cual se dispara el disparador.
$_TD->{tag}La etiqueta del comando para el cual se dispara el disparador.
El valor de retorno de la función de disparador se ignora.
Aquí hay un ejemplo de una función de disparador de eventos, que ilustra algo de lo anterior:
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();