Thread: pgsql 7.4.1 copy - end-of-copy marker corrupt

pgsql 7.4.1 copy - end-of-copy marker corrupt

From
Jenny Zhang
Date:
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


Re: pgsql 7.4.1 copy - end-of-copy marker corrupt

From
Tom Lane
Date:
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

Re: pgsql 7.4.1 copy - end-of-copy marker corrupt

From
Martijn van Oosterhout
Date:
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

Re: pgsql 7.4.1 copy - end-of-copy marker corrupt

From
Jenny Zhang
Date:
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