Re: Insert performance

From: "hatman" <joel(dot)winteregg(at)gmail(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Cc: "Andreas Kostyrka" <andreas(at)kostyrka(dot)org>, "Richard Huxton" <dev(at)archonet(dot)com>
Subject: Re: Insert performance
Date: 2007-03-06 15:38:25
Message-ID: 1173195505.228450.239060@c51g2000cwc.googlegroups.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi Andreas,

Thanks for the info about COPY !!

On Mar 6, 1:23 pm, andr(dot)(dot)(dot)(at)kostyrka(dot)org (Andreas Kostyrka) wrote:
> * Richard Huxton <d(dot)(dot)(dot)(at)archonet(dot)com> [070306 12:22]:> >>2. You can do a COPY from libpq - is it really not possible?
>
> > >Not really but i have been testing it and inserts are flying (about
> > >100000 inserts/sec) !!
>
> > What's the problem with the COPY? Could you COPY into one table then insert from that to your target table?
>
> Well, there are some issues. First your client needs to support it.
> E.g. psycopg2 supports only some specific CSV formatting in it's
> methods. (plus I had sometimes random psycopg2 crashes, but guarding against
> these is cheap compared to the speedup from COPY versus INSERT)
> Plus you need to be sure that your data will apply cleanly (which in
> my app was not the case), or you need to code a fallback that
> localizes the row that doesn't work.
>
> And the worst thing is, that it ignores RULES on the tables, which
> sucks if you use them ;) (e.g. table partitioning).

Ok, but what about constraints (foreign keys and SERIAL id) using a
copy statement ? do we need to handle auto-generated id (SERIAL)
manually ?

Thanks for your feedback.

Regards,

Joël

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Cole 2007-03-06 15:40:11 Re:
Previous Message Tom Lane 2007-03-06 15:31:37 Re: Estimate the size of the SQL file generated by pg_dump utility