Thread: COPY support
Hi all I'm trying to optimise some sql inserts I have by using the COPY command instead. I'm connecting from Java using 7.4 beta 3. It works at the command line, but I can't get it to work from Java. I'm doing an executeUpdate() on the COPY string below in the hope it works, but .... Here's the pg log output. LOG: query: COPY bingo_cards (account_id, game_id, win_ball, card, current_call, state) FROM stdin with delimiter '|'; 34|50558|75|3,7,8,4,12,23,18,24,22,21,38,45,42,39,43,55,54,53,51,46,70,66,71,75,65|0|0 34|50558|68|4,8,2,13,11,26,23,30,19,18,39,35,31,36,43,55,60,48,59,58,72,68,65,71,66|0|0 34|50558|72|15,11,2,4,5,26,18,20,25,27,43,36,45,38,31,54,57,58,55,50,66,73,71,72,69|0|0 \. ERROR: syntax error at or near "34" at character 108 I see there was some traffic on this list regard special copy support in the driver, did it make it in? Can't see it. Thanks for any help. Ritchie
On Mon, 17 Nov 2003, ritchie turner wrote: > > I'm trying to optimise some sql inserts I have by using the COPY command > instead. I'm connecting from Java using 7.4 beta 3. It works at the command > line, but I can't get it to work from Java. I'm doing an executeUpdate() on > the COPY string below in the hope it works, but .... COPY requires special protocol level support so this won't work. > I see there was some traffic on this list regard special copy support in the > driver, did it make it in? Can't see it. In February of last year Michael Adler made a patch to support copy, but it was rejected because the copy protocol was broken and a bad copy would completely hose your Connection. With the new V3 protocol in 7.4 it makes copy errors recoverable so it can be implemented safely. It's on my todo list to update his patch for the current driver, but I haven't gotten to it. Kris Jurka
Thanks for the info Kris, I suspected that may be the case. Cheers Ritchie On Monday 17 November 2003 23:25, Kris Jurka wrote: > On Mon, 17 Nov 2003, ritchie turner wrote: > > I'm trying to optimise some sql inserts I have by using the COPY command > > instead. I'm connecting from Java using 7.4 beta 3. It works at the > > command line, but I can't get it to work from Java. I'm doing an > > executeUpdate() on the COPY string below in the hope it works, but .... > > COPY requires special protocol level support so this won't work. > > > I see there was some traffic on this list regard special copy support in > > the driver, did it make it in? Can't see it. > > In February of last year Michael Adler made a patch to support copy, but > it was rejected because the copy protocol was broken and a bad copy would > completely hose your Connection. With the new V3 protocol in 7.4 it makes > copy errors recoverable so it can be implemented safely. It's on my todo > list to update his patch for the current driver, but I haven't gotten to > it. > > Kris Jurka > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster