I have very simple trigger and trigger function. Trigger function should insert GUID in every row after insert operation.
SQL:
CREATE TABLE "USERS"
(
id integer,
guid uuid,
name text
)
Trigger function:
CREATE OR REPLACE FUNCTION insertGUID() RETURNS trigger AS
$BODY$BEGIN
INSERT INTO "USERS" ("guid") VALUES (md5(random()::text || clock_timestamp()::text)::uuid);
END$BODY$
LANGUAGE plpgsql;
Trigger:
CREATE TRIGGER example_trigger BEFORE INSERT ON "USERS" EXECUTE PROCEDURE insertGUID();
But after after every insert. Like:
INSERT INTO "USERS"(name) VALUES ('foo1');
I am getting error: max_stack_depth
CONTEXT: SQL: "INSERT INTO "USERS" ("Joe") VALUES (md5(random()::text || clock_timestamp()::text)::uuid)"
UPD: I am getting same problem even if I use BEFORE INSERT