Thread: pgsql 7.4.1 copy - end-of-copy marker corrupt
I just upgraded to 7.4.1. I was loading my database using 'copy'. Some tables loaded with no problem, while some gave me the error: === ERROR: end-of-copy marker corrupt CONTEXT: COPY author, line 49: "49\aoD{\BABABABABARENG \t5p.\19840426" === This is the load script: === \set AUTOCOMMIT off COPY author FROM '/tmp/author.data' USING DELIMITERS '\\'; commit; and this is the line in the data file it complains: === 49\aoD{\BABABABABARENG \t5p.\19840426\.XfqWM+Ke,8+Ae-9PWPn)}#6eVa_QuNi*%{Y[?ip]Gx]6i-H[W&8K$dp/}uk57Dl6].*IdV 5(Lxl?4bS5~yhyY18(WcoZ fl,Lutg^Ok[@-H0hvU2J1lhReln7}/|qjH1O0T:}D!,Lvc6^PAg04);Es=Op~4{FrX|.PM_T+ 03xVi#s bL(VPZczAbTJg.ht]w6.A%Q0g%H pz~*!CXKb-9xLN7%eDWqzN7=]{lt1ssbG$HB^0hblc}(pvvFyDv I think this is strange since I've loaded the tables with the same datafile and same command (except for the autocommit part) in 7.3.3 with no problem. Even in 7.4.1, I have some tables loaded successfully. Can someone tell me what I did wrong or copy is buggy? Thanks, Jenny
Jenny Zhang <jenny@osdl.org> writes: > ERROR: end-of-copy marker corrupt > CONTEXT: COPY author, line 49: "49\aoD{\BABABABABARENG > \t5p.\19840426" > and this is the line in the data file it complains: > === > 49\aoD{\BABABABABARENG > \t5p.\19840426\.XfqWM+Ke,8+Ae-9PWPn)}#6eVa_Qu ... ^^ It doesn't like the "\.", with good reason I should think. Are you sure 7.3 would take this file? Anyway, either double or remove that backslash, depending on what you want. regards, tom lane
On Fri, Feb 06, 2004 at 01:11:24AM -0500, Tom Lane wrote: > Jenny Zhang <jenny@osdl.org> writes: > > ERROR: end-of-copy marker corrupt > > CONTEXT: COPY author, line 49: "49\aoD{\BABABABABARENG > > \t5p.\19840426" > > > and this is the line in the data file it complains: > > === > > 49\aoD{\BABABABABARENG > > \t5p.\19840426\.XfqWM+Ke,8+Ae-9PWPn)}#6eVa_Qu ... > ^^ > > It doesn't like the "\.", with good reason I should think. Are you sure > 7.3 would take this file? > > Anyway, either double or remove that backslash, depending on what you > want. Umm, the copy is using the escape character as column seperator. I wonder if we should catch and warn for that. I don't think there is a sensible way that can actually work. -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > (... have gone from d-i being barely usable even by its developers > anywhere, to being about 20% done. Sweet. And the last 80% usually takes > 20% of the time, too, right?) -- Anthony Towns, debian-devel-announce
Attachment
On Thu, 2004-02-05 at 22:52, Martijn van Oosterhout wrote: > On Fri, Feb 06, 2004 at 01:11:24AM -0500, Tom Lane wrote: > > Jenny Zhang <jenny@osdl.org> writes: > > > ERROR: end-of-copy marker corrupt > > > CONTEXT: COPY author, line 49: "49\aoD{\BABABABABARENG > > > \t5p.\19840426" > > > > > and this is the line in the data file it complains: > > > === > > > 49\aoD{\BABABABABARENG > > > \t5p.\19840426\.XfqWM+Ke,8+Ae-9PWPn)}#6eVa_Qu ... > > ^^ > > > > It doesn't like the "\.", with good reason I should think. Are you sure > > 7.3 would take this file? > > > > Anyway, either double or remove that backslash, depending on what you > > want. > > Umm, the copy is using the escape character as column seperator. I wonder if > we should catch and warn for that. > > I don't think there is a sensible way that can actually work. Using \ as delimiter is a bad choice. But it did work under 7.3.3. It would be nice to have an error message for it. Thanks, Jenny