Pozwólcie że się dołączę. Mam podobny problem.
Chcę stworzyć triggera przy update, który sprawdza wartość w updatowanym wierszu i jeśli jest spełniony warunek, to robi update tego samego wiersza lecz innej kolumny. Problem w tym, że coś nie działa

Stworzyłem coś następującego:
CREATE OR REPLACE FUNCTION zmien_stan_func() RETURNS TRIGGER AS $zmiana_stanu_trig$
BEGIN IF (NEW.logowanko > 5) THEN
NEW.aktywny = false;
END IF;
RETURN NEW;
END;
$zmiana_stanu_trig$ LANGUAGE plpgsql;
i do tego triger na tablicy
CREATE TRIGGER zmiana_stanu_trig AFTER UPDATE ON uzytkownicy
FOR EACH ROW EXECUTE PROCEDURE zmien_stan_func();
Już znalazłem rozwiązanie
http://www.kraszewscy.net/Triggery_(PostgreSQL)TRIGGER musi być BEFORE a nie AFTER. W przypadku AFTER dane są już fizycznie wstawione do tabeli i nie można zmienić wstawioanych wartości poprzez NEW.