Re:

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Vladimir Ryabtsev <greatvovan(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re:
Date: 2019-09-25 00:35:08
Message-ID: CAH2-Wzn7Boi13XLbZ4sfQ9xaXGo1hBX_9bbeFnn+AGWz9j+F8w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Sep 24, 2019 at 5:28 PM Vladimir Ryabtsev <greatvovan(at)gmail(dot)com> wrote:
> bt_index_check() shows this:
>
> ERROR: item order invariant violated for index "vocabulary_phrase_key"
> DETAIL: Lower index tid=(29915,116) (points to index tid=(97262,1)) higher index tid=(29915,117) (points to index tid=(118496,1)) page lsn=5A8/6AA20EC8.
> SQL state: XX002

That's slightly inconvenient, because it's an internal page -- there
is no heap TID that you can use to look at the row in the table
directly. You're going to have to look at the index page directly, and
try to make sense of pageinspect's hex representation of the data.

The following will show details of the pair of tuples that are in the
wrong order here:

CREATE EXTENSION pageinspect;
SELECT * FROM bt_page_items('vocabulary_phrase_key', 29915) WHERE
itemoffset in (116, 117);

What does that look like?

I think that the problem here is likely to have something to do with
OS collations -- this isn't a Postgres bug in all likelihood.

--
Peter Geoghegan

In response to

  • Re: at 2019-09-25 00:27:40 from Vladimir Ryabtsev

Responses

  • Re: at 2019-09-25 01:24:57 from Vladimir Ryabtsev

Browse pgsql-bugs by date

  From Date Subject
Next Message Vladimir Ryabtsev 2019-09-25 01:24:57 Re:
Previous Message Vladimir Ryabtsev 2019-09-25 00:27:40 Re: