From: | Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | reading row in backend |
Date: | 2000-05-15 22:29:57 |
Message-ID: | 20000515232957.B22468@quartz.newn.cam.ac.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I'm just upgrading a database to v7.0, but I am rather unlucky in that in
each of 2 large (ca. 20000 rows) tables, 1 row is too big eg:
ERROR: copy: line 57552, Tuple is too big: size 8152, max size 8140
Now, it would help me if I could actually get a clue as to which row this
is. The error message comes from hio.c:118 at which point one has a
HeapTuple. Is there a way of extracting a piece of the row in the tuple to
be able to identify it?
It seems that a HeapTuple starts with a HeapTupleHeader, so the data I
suppose starts at tuple->t_data[sizeof(HeapTupleHeaderData)] and goes on for
tuple->t_len-sizeof(HeapTupleHeaderData) bytes, but how is it represented?
Any pointers appreciated! (These are huge COPY statements, so after the
error I'm left with an empty table - I'd just like to chop the 12 bytes
off!)
Cheers,
Patrick
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-05-15 22:55:50 | Re: reading row in backend |
Previous Message | Mikheev, Vadim | 2000-05-15 20:39:41 | RE: Proposal: replace no-overwrite with Berkeley DB |