| Документация к PostgreSQL 9.5.8 | |||
|---|---|---|---|
| Пред. | Уровень выше | Глава 41. PL/Tcl — процедурный язык Tcl | След. |
На PL/Tcl можно написать процедуры событийных триггеров. PostgreSQL требует, чтобы процедура, которая будет вызываться как событийный триггер, была объявлена как функция без аргументов и возвращала тип event_trigger.
Информация от менеджера триггеров передаётся в тело процедуры в следующих переменных:
Имя события, при котором срабатывает этот триггер.
Тег команды, для которой срабатывает этот триггер.
Возвращаемое значение триггерной процедуры игнорируется.
Следующий небольшой пример процедуры событийного триггера просто выдаёт замечание (NOTICE) при каждом выполнении поддерживаемой команды:
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 PROCEDURE tclsnitch();
| Пред. | Начало | След. |
| Процедуры триггеров на PL/Tcl | Уровень выше | Модули и команда unknown |