то таблицы, я могу указать поле при изменении которого не будет срабатывать триггер?
привет. Можете, без вхождения в тело триггерной функции. Используйте WHEN (OLD.my_field IS DISTINCT FROM NEW.my_field) конструкцию. Более подробно тут https://www.postgresql.org/docs/13/sql-createtrigger.html
Здесь на оборот если поле изменилось то выполнять) А мне нужно выполнять если любое поле изменилось, а если изменилось только поле test то не выполнять
Попробуйте что то вроде: CREATE TRIGGER my_trigger AFTER UPDATE ON my_table FOR EACH ROW WHEN ((OLD.* IS DISTINCT FROM NEW.*) OR (OLD.col1 IS DISTINCT FROM NEW.col1 and OLD.col2 IS DISTINCT FROM NEW.col2)) EXECUTE PROCEDURE my_func();
Обсуждают сегодня