Re: Avoid retaining conflict-related data when no tables are subscribed

From: Steven Niu <niushiji(at)gmail(dot)com>
To: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, 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 05:22:51
Message-ID: d27b41b6-6488-44d6-b684-ad4713473705@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Just a typo:

+ * it seem feasible to skip all phases and directly assign

Should be "it seems".

Regards,
Steven

在 2025/8/28 10:23, Zhijie Hou (Fujitsu) 写道:
> 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.
>
> Best Regards,
> Hou zj

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Ashutosh Sharma 2025-08-28 05:36:42 How can end users know the cause of LR slot sync delays?
Previous Message Kirill Reshke 2025-08-28 05:19:11 Re: Fix ALTER TABLE DROP EXPRESSION with inheritance hierarchy