Received: from nts1.rtp.epa.gov (nts1.rtp.epa.gov [134.67.208.208]) by postgresql.org (8.11.3/8.11.1) with ESMTP id f6BDdpa66603 for ; Wed, 11 Jul 2001 09:39:51 -0400 (EDT) (envelope-from volpe.mark@epa.gov) Received: from epa.gov (scanmeifyoudare.rtp.epa.gov [134.67.139.14]) by nts1.rtp.epa.gov (8.9.3/8.9.3) with ESMTP id JAA06129; Wed, 11 Jul 2001 09:44:30 -0400 (EDT) Message-ID: <3B4C56F1.5B46F924@epa.gov> Date: Wed, 11 Jul 2001 09:38:57 -0400 From: Mark Volpe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) X-Accept-Language: en MIME-Version: 1.0 To: mlw CC: Naomi Walker , PostgreSQL Development Subject: Re: Postgresql bulk fast loader References: <4.2.2.20010710170412.00a99820@logic1design.com> <3B4BA0B1.2C20EF74@mohawksoft.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Archive-Number: 200107/268 X-Sequence-Number: 11007 Avoid doing this with indexes on the table, though. I learned the hard way! Mark mlw wrote: > > Naomi Walker wrote: > > > > Does postgresql have any sort of fast bulk loader? > > It has a very cool SQL extension called COPY. Super fast. > > Command: COPY > Description: Copies data between files and tables > Syntax: > COPY [ BINARY ] table [ WITH OIDS ] > FROM { 'filename' | stdin } > [ [USING] DELIMITERS 'delimiter' ] > [ WITH NULL AS 'null string' ] > COPY [ BINARY ] table [ WITH OIDS ] > TO { 'filename' | stdout } > [ [USING] DELIMITERS 'delimiter' ] > [ WITH NULL AS 'null string' ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org