Документация по PostgreSQL 9.4.1 | |||
---|---|---|---|
Пред. | Уровень выше | Глава 42. PL/Perl — процедурный язык Perl | След. |
42.7. Событийные триггеры на PL/Perl
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 PROCEDURE perlsnitch();
Пред. | Начало | След. |
Триггеры на PL/Perl | Уровень выше | Внутренние особенности PL/Perl |