Re: partition insert performance

From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
Cc: Gurjeet Singh <singh(dot)gurjeet(at)gmail(dot)com>, Anj Adu <fotographs(at)gmail(dot)com>, pgsql-admin(at)postgresql(dot)org
Subject: Re: partition insert performance
Date: 2009-06-22 13:06:43
Message-ID: 87vdmov2n0.fsf@hi-media-techno.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi,

Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> writes:
> On Mon, Jun 15, 2009 at 11:35 AM, Gurjeet Singh<singh(dot)gurjeet(at)gmail(dot)com> wrote:
>> On Mon, Jun 15, 2009 at 10:57 PM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
>> wrote:
>>> If you're using plpgsql prepare for a world of pain if you've got any
>>> null values in your inserts.
>>
>> :) Using COALESCE isn't that bad.
>
> In my experience it's WAY more than just coalesce.

There's this trick:

v_sql := 'INSERT INTO schema.parent_' || to_char(NEW.date, 'YYYYMM') ||
' SELECT (' || quote_literal(textin(record_out(NEW))) || '::schema.parent).*;';

EXECUTE v_sql;

This will handle dynamic SQL and NULLs correctly, but as said already
won't match static SQL in term of performances. Just saying for people
searching simplifications.

Regards,
--
dim

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Dimitri Fontaine 2009-06-22 13:18:57 Re: Is IDLE session really idle?
Previous Message Michael Monnerie 2009-06-22 09:04:48 Re: WAL archiving and backup TAR