Adding many rows to a table. - Mailing list pgsql-sql

From Stuart Grimshaw
Subject Adding many rows to a table.
Date
Msg-id 004101bfc2a5$e6a18280$0200000a@home.stubbynet.org.uk
Whole thread Raw
Responses Re: Adding many rows to a table.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
I was recently doing some testing into which of two methods of searching a
large block of text was faster. One of the ways I came up with was to
identify keywords in an article and then have a table to cross reference
these keywords back to the article they appear in.

article|keyword
---------------
520    |cheese
520    |bread
521    |pickle
522    |spam

you get the picture.

I wrote a perl program to extract these keywords, with the idea of inserting
them into a database. The first way I tried was to have lots on "insert
into"'s in 1 string, then execute that string. Worked OK until the string
contained too many keywords and the query was too large (this was under
6.5.3)

The docs suggest using "copy to" for inserting lots of data. I created a
string :

COPY TO keywords FROM STDIN USING DELIMITERS ',';
520,cheese
520,bread
521,pickle
522,spam
\.

and then executed it, and got the following error

ERROR:  parser: parse error at or near "520"

So my question is, after all that, is that the right way to construct my
string (regardless of language, Perl C/C++ etc)

By the way, I've ditched this idea for now, and just use a common or garden
index on the feild I want to search for the keywords. I just want to be able
to actually do this, you never know when it might come in handy.

---------------------------------------Stuart Grimshaw         |Schoolsnet LTD          |   Specialwww.schoolsnet.com
  |   Projects                        |   Developerstuart@stubbynet.org.uk |
 
---------------------------------------




pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: SQL command speed
Next
From: Tom Lane
Date:
Subject: Re: Adding many rows to a table.