SQL COPY syntax extension (was: Performance on inserts)

Hannu Krosing <hannu@tm.ee>

From: Hannu Krosing <hannu@tm.ee>
To: Oliver Teuber <teuber@abyss.devicen.de>
Cc: Matthew Kirkwood <matthew@hairy.beasts.org>, pgsql-hackers@postgresql.org
Date: 2000-08-28T10:05:19Z
Lists: pgsql-hackers
Oliver Teuber wrote:
> 
> On Sat, Aug 26, 2000 at 12:14:06PM +0100, Matthew Kirkwood wrote:
> > On Sat, 26 Aug 2000, Jules Bean wrote:
> >
> > > Is there any simple way for Pg to combine inserts into one bulk?
> > > Specifically, their effect on the index files.  It has always seemed
> > > to me to be one of the (many) glaring flaws in SQL that the INSERT
> > > statement only takes one row at a time.
> >
> > One of MySQL's little syntax abuses allows:
> >
> > INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..);
> >
> > which is nice for avoiding database round trips.  It's one
> > of the reasons that mysql can do a bulk import so quickly.
> >
> copy seems to be very fast ... i dont know why all people use
> multiple inserts ??? just use copy ...
>

Could copy be extended to support a more SQL-friendly syntax. like

COPY tablename FROM VALUES(
 (x1,y1,z1),
 (x2,y2,z2),
 (x3,y3,z3)
);

The main reason I have not used COPY very much is it's non-SQL syntax 
for field values.

Extending the COPY command would probably be much easier than speeding up
INSERTS.

-------------
Hannu