Re: [PATCH] Compressed TOAST data corruption with REPACK CONCURRENTLY

Álvaro Herrera <alvherre@kurilemu.de>

From: Alvaro Herrera <alvherre@kurilemu.de>
To: Antonin Houska <ah@cybertec.at>
Cc: Michael Paquier <michael@paquier.xyz>, SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>, "L. pgsql-hackers" <pgsql-hackers@lists.postgresql.org>, Chao Li <li.evan.chao@gmail.com>
Date: 2026-04-30T22:03:05Z
Lists: pgsql-hackers
On 2026-Apr-26, Antonin Houska wrote:

> I see you actually refer to the correct tests. I see no failure now as
> well. I'll try to make the tests more stable. Sorry for the confusion.

So, the reason this wasn't failing for me is that I had default TOAST
compression lz4, and the test case wasn't reaching size for being made
external, as opposed to pglz.  I changed the test to specify pglz
compression explicitly.  I also added some dropped columns and one more
toast column.  (On my machine, this expanded test fails for several
rows, not just one, when the fix is deactivated.)  I fear the buildfarm
may end up showing other failures, but there's no way to know other than
to try.

Thanks, Satya, for reporting the bug.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"In fact, the basic problem with Perl 5's subroutines is that they're not
crufty enough, so the cruft leaks out into user-defined code instead, by
the Conservation of Cruft Principle."  (Larry Wall, Apocalypse 6)



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. REPACK CONCURRENTLY: fix processing of toasted tuples