reading row in backend

Поиск
Список
Период
Сортировка
От Patrick Welche
Тема reading row in backend
Дата
Msg-id 20000515232957.B22468@quartz.newn.cam.ac.uk
обсуждение исходный текст
Ответы Re: reading row in backend  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Mikheev, Vadim"
Дата:
Сообщение: RE: Proposal: replace no-overwrite with Berkeley DB
Следующее
От: Tom Lane
Дата:
Сообщение: Re: reading row in backend