Вот пример:
CREATE TABLE sample (
id integer PRIMARY KEY,
sthg text NOT NULL,
ip inet
);
CREATE FUNCTION sample_trig() RETURNS trigger
LANGUAGE plpgsql AS
$$BEGIN
SELECT 42, 'yes!', '127.0.0.1'::inet INTO NEW;
RETURN NEW;
END;$$;
CREATE TRIGGER sample_trig
BEFORE INSERT ON sample FOR EACH ROW
EXECUTE PROCEDURE sample_trig();
INSERT INTO sample VALUES (1, 'new', NULL);
TABLE sample;
id | sthg | ip
----+------+-----------
42 | yes! | 127.0.0.1
(1 row)