From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alessandro Ipe <Alessandro(dot)Ipe(at)meteo(dot)be> |
Cc: | pgsql-performance(at)postgresql(dot)org, Torsten Zuehlsdorff <mailinglists(at)toco-domains(dot)de> |
Subject: | Re: Excessive memory used for INSERT |
Date: | 2014-12-18 17:05:45 |
Message-ID: | 17790.1418922345@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Alessandro Ipe <Alessandro(dot)Ipe(at)meteo(dot)be> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Robert DiFalco | 2014-12-18 17:12:16 | Question about trigram GIST index |
Previous Message | Alessandro Ipe | 2014-12-18 16:31:46 | Re: Excessive memory used for INSERT |