I am trying to create a function that gets fired when a new row is inserted. I can get the following function built but my problem is that the sequence that is created is called "NEW.key" rather than the value that is being inserted (it should be a UUID). I have tried putting the key into a variable and using no quotes but it either errors or gives me "NEW.key" rather than "whatever-uuid-was inserted". Please can anybody give me some pointers? Thanks Jake CREATE OR REPLACE FUNCTION public.setup_sequence() RETURNS trigger LANGUAGE plpgsql AS $$ DECLARE sequence_name UUID; BEGIN IF ( TG_OP = 'INSERT' AND NEW.type = 'auto_increment' ) THEN SELECT NEW.key INTO STRICT sequence_name; -- Set up the sequence CREATE SEQUENCE \"NEW.key\"; -- Set the start value --SELECT SETVAL(sequence_name, NEW.auto_increment_default); END IF; RETURN NEW; END; -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general