| 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: | Whole Thread | Raw Message | 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 |