Re: [PATCH] Compressed TOAST data corruption with REPACK CONCURRENTLY
Antonin Houska <ah@cybertec.at>
From: Antonin Houska <ah@cybertec.at>
To: Michael Paquier <michael@paquier.xyz>
Cc: SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
alvherre@kurilemu.de
Date: 2026-04-20T11:40:20Z
Lists: pgsql-hackers
Attachments
- 0001-Enhance-tests-for-TOAST-processing-by-REPACK.patch (text/x-diff)
Michael Paquier <michael@paquier.xyz> wrote: > On Fri, Apr 17, 2026 at 10:40:39AM -0700, SATYANARAYANA NARLAPURAM wrote: > > I started with that but tried to follow the existing code pattern. This > > LGTM. > > Please add a comment as well. > > Hmm. I was reading restore_tuple(), and could it make sense to expand > a bit more the tests so as more types of varlena pointers could be > checked in this routine? I am taking about MAIN, EXTENDED and > EXTERNAL, so as we could check more patterns with in-line > [non-]compressed, and external [non-]compressed, counting for the four > different possible patterns that could lead to repacked data. See for > example strings.sql for such tests, that could be used as base > inspiration. ok, this is a patch to enhance the tests. It also simplifies gen_compressible() a bit and adjusts it so it is (hopefully) more reliable in generating compressible values. Now it can be used to reproduce the fix [1]. [1] https://www.postgresql.org/message-id/52301.1776440752%40localhost -- Antonin Houska Web: https://www.cybertec-postgresql.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
REPACK CONCURRENTLY: fix processing of toasted tuples
- 6ca631b99012 19 (unreleased) landed