set transaction isolation level serializable; -- hack ... prisma doesn't know about our other schemas (e.g. pgboss) -- and this is only really a problem on their "shadow database" -- so we catch the exception it throws and ignore it CREATE OR REPLACE FUNCTION create_anon_bio() RETURNS INTEGER LANGUAGE plpgsql AS $$ DECLARE BEGIN -- give anon a bio PERFORM create_bio('@anon''s bio', 'account of stackers just passing through', 27); -- hide anon from top users and dont give them a hat UPDATE users set "hideFromTopUsers" = true, "hideCowboyHat" = true where id = 27; return 0; EXCEPTION WHEN sqlstate '42P01' THEN return 0; END; $$; SELECT create_anon_bio(); DROP FUNCTION IF EXISTS create_anon_bio();