Re: ERROR: posting list tuple with 20 items cannot be split at offset 168

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Herman verschooten <Herman(at)verschooten(dot)net>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Christl Nagels <christel(dot)nagels(at)tranna(dot)be>
Subject: Re: ERROR: posting list tuple with 20 items cannot be split at offset 168
Date: 2021-10-25 15:29:11
Message-ID: CAH2-Wzmpz4=hv_hNcFv=2n==mqd1EK14wct_xNaT9YhEy7J1nw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Oct 25, 2021 at 2:59 AM Herman verschooten
<Herman(at)verschooten(dot)net> wrote:
> tranman_production=# update freights set cmr_received=false where id=49632;
> ERROR: XX000: posting list tuple with 20 items cannot be split at offset 168
> LOCATION: _bt_swap_posting, nbtdedup.c:1037
>
> If I drop the index index_freights_on_cmr_received, then the update succeeds.

What you see here is a defensive "can't happen" error that I added in
commit 8f72bbac, and backpatched to Postgres 13.4, which came out on
2021-08-12. The goal of that error is to make a possible hard crash
due to corruption into a slightly friendlier kind of failure (the
error that you see here). Were you running 13.4 before the upgrade?

If you were on 13.3 or earlier before the upgrade to 14, then it's
possible that the problem was there all along, but is only now visible
for the first time.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-10-25 16:25:54 Re: BUG #17240: <timestamptz> at time zone ... ; wrong result
Previous Message Dmitry Dolgov 2021-10-25 14:53:07 Re: ERROR: posting list tuple with 20 items cannot be split at offset 168