Re: REPACK (CONCURRENTLY) might keep dropped-column data

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)kurilemu(dot)de>
Cc: Radim Marek <radim(at)boringsql(dot)com>, Antonin Houska <ah(at)cybertec(dot)at>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: REPACK (CONCURRENTLY) might keep dropped-column data
Date: 2026-10-05 03:51:44
Message-ID: CAHGQGwG9bHxhs4Nj+9avSjSGh0vdYNQgEuz+pmJ-H5be6tEBTw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Oct 3, 2026 at 8:35 PM Alvaro Herrera <alvherre(at)kurilemu(dot)de> wrote:
>
> On 2026-Sep-30, Radim Marek wrote:
>
> > Ok, I can't add much to the implementation discussion, but I can confirm
> > the patch resolves both use cases I reported.
>
> Thank you, I have pushed it to both branches after adjusting the test
> case a bit more.

Thanks for working on this!

'repack_decode',
+ 'repack_dropped',
'repack_missingval',

repack_dropped isolation test should also be listed in Makefile, in
addition to meson.build?

+teardown {
+ DROP TABLE repack_dropped;
+ DROP FUNCTION repack_dropped_f;
+}

Should teardown also drop the injection_points extension created by
setup, as the other tests that create the injection_points extension
do?

This missing DROP seems harmless with the current Meson test order, since
repack_missingval runs next, uses CREATE EXTENSION IF NOT EXISTS, and
then drops the extension. However, that seems fragile.

The attached patch fixes both issues.

Regards,

--
Fujii Masao

Attachment Content-Type Size
v1-0001-Fix-registration-and-cleanup-of-repack_dropped-is.patch application/octet-stream 1.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-10-05 03:59:37 Re: examine_variable ignored CollateExpr
Previous Message shihao zhong 2026-10-05 03:47:10 Re: pg_resetwal: refuse to run when backup_label exists