Re: vacuum error "left link changed unexpectedly"

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ulrich Wisser <ulrich(dot)wisser(at)relevanttraffic(dot)se>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: vacuum error "left link changed unexpectedly"
Date: 2005-08-12 14:26:15
Message-ID: 7539.1123856775@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ulrich Wisser <ulrich(dot)wisser(at)relevanttraffic(dot)se> writes:
> vacuumdb: vacuuming of database "CLIX2" failed: ERROR: left link
> changed unexpectedly

Hm, is this repeatable? When I wrote the code I thought it was
a can't-happen case, which is why the error message is so terse
(it was only pure paranoia that made me put in the check at all).
I suppose it must indicate a corrupted index, but I'm not clear
on exactly what the nature of the corruption is.

You might proceed by fixing the error message to be a little more
helpful, say

if (opaque->btpo_prev != leftsib)
elog(ERROR, "left link changed unexpectedly in block %u of index %s",
target, RelationGetRelationName(rel));

(this is in src/backend/access/nbtree/nbtpage.c, about line 863 in
current sources). Once you know which index has the problem,
I would like to see the output of pg_filedump on that index.
After you've got the dump, a REINDEX should fix it.

BTW, which Postgres version is this exactly?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Fein 2005-08-12 14:31:32 Re: No PUBLIC access by default?
Previous Message Ronzani Dario 2005-08-12 14:15:50 R: Linux Postgres authentication against active directory