missing chunk number 0 for toast value

Started by Ed L.almost 21 years ago7 messagesgeneral
Jump to latest
#1Ed L.
pgsql@bluepolka.net

This is for PostgreSQL 7.4.6 on hppa2.0w-hp-hpux11.00, compiled
by GCC 3.2.2. I'm seeing the following 2 errors:

ERROR: missing chunk number 0 for toast value 19319495
ERROR: unexpected chunk number 4 (expected 0) for toast value
19319495

It is always the same toast value. The table has 1.8M rows.
I've identified the column and the row:

$ psql -c "\d audit"
Table "public.audit"
Column | Type | Modifiers
--------+-----------------------------+-----------
value | text |
cdate | timestamp without time zone |
key | text |
Indexes:
"idx_audit_cdate" btree (cdate)
"idx_audit_key" btree ("key")

$ psql -c "select key from audit where key = '791015.o9'"
key
-----------
791015.o9
(1 row)

$ psql -c "select cdate from audit where key = '791015.o9'"
cdate
---------------------
2005-04-06 00:00:00
(1 row)

$ psql -c "select value from audit where key = '791015.o9'"
ERROR: missing chunk number 0 for toast value 19319495

It causes all dumps and any access (via SELECT, UPDATE, and
COPY/pg_dump) to audit.value to fail. I've tried to look at the
underlying toast table per some old posts, but no joy.

As usual, this is on a system with a downtime-sensitive customer.

Any ideas?

Ed

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ed L. (#1)
Re: missing chunk number 0 for toast value

"Ed L." <pgsql@bluepolka.net> writes:

This is for PostgreSQL 7.4.6 on hppa2.0w-hp-hpux11.00, compiled
by GCC 3.2.2. I'm seeing the following 2 errors:

ERROR: missing chunk number 0 for toast value 19319495
ERROR: unexpected chunk number 4 (expected 0) for toast value
19319495

Have you tried REINDEXing the toast table in question?

regards, tom lane

#3Ed L.
pgsql@bluepolka.net
In reply to: Tom Lane (#2)
Re: missing chunk number 0 for toast value

On Wednesday April 27 2005 3:55 pm, Tom Lane wrote:

ERROR:  missing chunk number 0 for toast value 19319495
ERROR:  unexpected chunk number 4 (expected 0) for toast
value 19319495

Have you tried REINDEXing the toast table in question?

Not yet. Any way to repair it without blocking concurrent
access?

Ed

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ed L. (#3)
Re: missing chunk number 0 for toast value

"Ed L." <pgsql@bluepolka.net> writes:

On Wednesday April 27 2005 3:55 pm, Tom Lane wrote:

Have you tried REINDEXing the toast table in question?

Not yet. Any way to repair it without blocking concurrent
access?

Unlikely. But the lock will only affect operations that need to touch
toasted field values.

regards, tom lane

#5Ed L.
pgsql@bluepolka.net
In reply to: Tom Lane (#4)
Re: missing chunk number 0 for toast value

On Wednesday April 27 2005 4:40 pm, Tom Lane wrote:

"Ed L." <pgsql@bluepolka.net> writes:

On Wednesday April 27 2005 3:55 pm, Tom Lane wrote:

Have you tried REINDEXing the toast table in question?

Not yet. Any way to repair it without blocking concurrent
access?

Unlikely. But the lock will only affect operations that need
to touch toasted field values.

Does this shed any light? pg_toast_6221538 is the relevant toast
table...

$ psql -c "set enable_indexscan=off; select chunk_seq,
length(chunk_data) from pg_toast.pg_toast_6221538 where chunk_id
= 19319495 order by chunk_seq;"
chunk_seq | length
-----------+--------
(0 rows)

$ psql -c "select chunk_seq, length(chunk_data) from
pg_toast.pg_toast_6221538 where chunk_id = 19319495 order by
chunk_seq;"
chunk_seq | length
-----------+--------
(0 rows)

Ed

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ed L. (#5)
Re: missing chunk number 0 for toast value

"Ed L." <pgsql@bluepolka.net> writes:

Does this shed any light? pg_toast_6221538 is the relevant toast
table...

$ psql -c "set enable_indexscan=off; select chunk_seq,
length(chunk_data) from pg_toast.pg_toast_6221538 where chunk_id
= 19319495 order by chunk_seq;"
chunk_seq | length
-----------+--------
(0 rows)

Doesn't look very promising :-(

regards, tom lane

#7Ed L.
pgsql@bluepolka.net
In reply to: Tom Lane (#6)
Re: missing chunk number 0 for toast value

On Wednesday April 27 2005 6:11 pm, Tom Lane wrote:

"Ed L." <pgsql@bluepolka.net> writes:

Does this shed any light? pg_toast_6221538 is the relevant
toast table...

$ psql -c "set enable_indexscan=off; select chunk_seq,
length(chunk_data) from pg_toast.pg_toast_6221538 where
chunk_id = 19319495 order by chunk_seq;"
chunk_seq | length
-----------+--------
(0 rows)

Doesn't look very promising :-(

Sorry...what does that mean? Not promising that reindexing the
toast table would help because there is no data there?

Ed