Перейти к основному содержимому

Функции событийных триггеров в 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();