O PL/Perl pode ser usado para escrever
funções de gatilho de evento.
Em uma função de gatilho de evento, a referência
hash $_TD contém
informações sobre o evento de gatilho corrente.
$_TD é uma variável global, que obtém um valor
local separado para cada chamada do gatilho.
Os campos da referência hash
$_TD são:
$_TD->{event}O nome do evento para o qual o gatilho foi disparado.
$_TD->{tag}A etiqueta de comando para a qual o gatilho foi disparado.
O valor retornado pela função de gatilho é ignorado.
A seguir está um exemplo de função de gatilho, mostrando alguns dos itens vistos acima.
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();