Podem ser escritas funções de gatilho de evento em
PL/Tcl.
O PostgreSQL requer que uma função que
será chamada como um gatilho de evento seja declarada como uma
função sem argumentos, e retornando o tipo de dados
event_trigger.
As informações do gerenciador de gatilhos são passadas para o corpo da função nas seguintes variáveis:
$TG_eventO nome do evento para o qual o gatilho foi disparado.
$TG_tagA etiqueta (tag) do comando para o qual o gatilho foi disparado.
O valor retornado pela função de gatilho é ignorado.
A seguir está um pequeno exemplo de função de gatilho de evento
que simplesmente gera uma mensagem NOTICE
cada vez que um comando com suporte é executado:
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 FUNCTION tclsnitch();