From: | Nisha Moond <nisha(dot)moond412(at)gmail(dot)com> |
---|---|
To: | "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
Subject: | Re: Avoid retaining conflict-related data when no tables are subscribed |
Date: | 2025-08-28 07:53:53 |
Message-ID: | CABdArM5jKiYF4jKR5KP5cBSwhTLAM-pCKz5zr7AOwoQB809-MQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Aug 28, 2025 at 7:54 AM Zhijie Hou (Fujitsu)
<houzj(dot)fnst(at)fujitsu(dot)com> wrote:
>
> Hi,
>
> My colleague Nisha reported an issue to me off-list: dead tuples can't
> be removed when retain_dead_tuples is enabled for a subscription with no tables.
>
> This appears to stem from the inability to advance the non-removable transaction
> ID when AllTablesyncsReady() returns false. Since this function returns false
> when no tables are present, which leads to unnecessary data retention until a
> table is added to the subscription.
>
> Since dead tuples don't need to be retained when no tables are subscribed, here
> is a patch to fix it, modifying AllTablesyncsReady() to allows no tables to be
> treated as a ready state when explicitly requested.
>
Thank you Hou-san for the patch. I've verified the fix and tested the
changes. The patch LGTM.
--
Thanks,
Nisha
From | Date | Subject | |
---|---|---|---|
Next Message | Kirill Reshke | 2025-08-28 08:08:50 | Re: Remove unneeded cast in heap_xlog_lock. |
Previous Message | Bertrand Drouvot | 2025-08-28 07:30:15 | Re: Improve LWLock tranche name visibility across backends |