PL/Perl Event Triggers
примечание
Эта страница переведена при помощи нейросети GigaChat.
PL/Perl может использоваться для написания функций триггеров событий. В функции триггера события хеш-ссылка $_TD
содержит информацию о текущем событии триггера. $_TD
является глобальной переменной, которая получает отдельное локальное значение для каждого вызова триггера. Поля хеш-ссылки $_TD
следующие:
$_TD->{event}
Имя события, при котором срабатывает триггер.
$_TD->{tag}
Тег команды, для которой срабатывает триггер.
Возвращаемое значение функции триггера игнорируется.
Пример функции триггера события, иллюстрирующий некоторые из вышеперечисленных:
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();