Re: Excessive memory used for INSERT

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

In response to

Responses

Browse pgsql-performance by date

  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