Если функция используется в качестве триггера, словарь
TD содержит связанные с триггером значения:
TD["event"]
содержит событие в виде строки:
INSERT, UPDATE,
DELETE, или TRUNCATE.
TD["when"]
содержит одно из BEFORE, AFTER, или
INSTEAD OF.
TD["level"]
содержит ROW или STATEMENT.
TD["new"]TD["old"]Для триггера уровня строки одно или оба этих поля содержат соответствующие строки триггера в зависимости от события триггера.
TD["name"]содержит имя триггера.
TD["table_name"]содержит имя таблицы, в которой сработал триггер.
TD["table_schema"]содержит схему таблицы, в которой сработал триггер.
TD["relid"]содержит OID таблицы, в которой сработал триггер.
TD["args"]
Если CREATE TRIGGER команда
включала аргументы, они доступны в элементах от TD["args"][0] до
TD["args"][.
n-1]
Если TD["when"] — BEFORE или
INSTEAD OF и
TD["level"] — ROW, вы можете
вернуть None или "OK" из Python-функции, чтобы указать, что строка не была изменена,
"SKIP" для отмены события, или если TD["event"]
— INSERT или UPDATE вы можете вернуть
"MODIFY" , чтобы указать, что вы изменили новую строку.
В противном случае возвращаемое значение игнорируется.