Re: Skipping Inserts - Mailing list pgsql-general

From Tom Lane
Subject Re: Skipping Inserts
Date
Msg-id 1186122.1790093805@sss.pgh.pa.us
Whole thread
In response to Skipping Inserts  (Anthony Mallgren <abmallgren@gmail.com>)
List pgsql-general
Anthony Mallgren <abmallgren@gmail.com> writes:
> I'm getting a lot of messages like this:
> [warn] skipped a 3-word n-gram: table tid from new index tuple (2524,87)
> cannot find insert offset between offsets 2 and 16 of block 36 in index
> "congress_103_3_word_word1_idx"

I don't know about the first part of that, maybe it's from your
application?  But the "table tid ..." part matches this:

            /*
             * postingoff should never be set more than once per leaf page
             * binary search.  That would mean that there are duplicate table
             * TIDs in the index, which is never okay.  Check for that here.
             */
            if (insertstate->postingoff != 0)
                ereport(ERROR,
                        (errcode(ERRCODE_INDEX_CORRUPTED),
                         errmsg_internal("table tid from new index tuple (%u,%u) cannot find insert offset between
offsets%u and %u of block %u in index \"%s\"", 
                                         ItemPointerGetBlockNumber(key->scantid),
                                         ItemPointerGetOffsetNumber(key->scantid),
                                         low, stricthigh,
                                         BufferGetBlockNumber(insertstate->buf),
                                         RelationGetRelationName(rel))));

So this code thinks your index is corrupt.  REINDEX should help.

            regards, tom lane



pgsql-general by date:

Previous
From: Anthony Mallgren
Date:
Subject: Skipping Inserts
Next
From: Laurenz Albe
Date:
Subject: Re: Skipping Inserts