Alessandro Ipe <Alessandro.Ipe@xxxxxxxx> writes: > Hi, > I tried also with an upsert function > CREATE FUNCTION upsert_func(sql_insert text, sql_update text) RETURNS void > LANGUAGE plpgsql > AS $$ > BEGIN > EXECUTE sql_update; > IF FOUND THEN > RETURN; > END IF; > BEGIN > EXECUTE sql_insert; > EXCEPTION WHEN OTHERS THEN > EXECUTE sql_update; > END; > RETURN; > END; > $$; > with the same result on the memory used... If you want to provide a self-contained test case, possibly we could look into it, but these fragmentary bits of what you're doing don't really constitute an investigatable problem statement. I will note that EXCEPTION blocks aren't terribly cheap, so if you're reaching the "EXECUTE sql_insert" a lot of times that might have something to do with it. regards, tom lane -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance