Функции событийных триггеров в PL/Tcl
примечание
Эта страница переведена при помощи нейросети GigaChat.
Функции событийных триггеров могут быть написаны на PL/Tcl. PostgreSQL требует, чтобы функция, которая должна вызываться как триггер события, была объявлена как функция без аргументов и с типом возврата event_trigger
.
Информация от диспетчера триггеров передается в тело функции в следующих переменных:
$TG_event
Имя события, при котором срабатывает триггер.
$TG_tag
Тег команды, для которой срабатывает триггер.
Возвращаемое значение функции триггера игнорируется.
Небольшой пример функции триггера события, который просто выдает сообщение каждый раз, когда выполняется поддерживаемая команда:
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();