RE: How can end users know the cause of LR slot sync delays?

Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>

From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: Shlok Kyal <shlok.kyal.oss@gmail.com>, shveta malik <shveta.malik@gmail.com>
Cc: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Ashutosh Sharma <ashu.coek88@gmail.com>
Date: 2025-11-26T08:53:34Z
Lists: pgsql-hackers
On Wednesday, November 26, 2025 2:29 PM Shlok Kyal <shlok.kyal.oss@gmail.com> wrote:
> I have also addressed the remaining comments and attached the updated
> patch.

Thanks for updating the patch, I have few comments:

1.
+/*
+ * Map a SlotSyncSkipReason enum to a human-readable string
+ */
+static char *
+GetSlotSyncSkipReasonName(SlotSyncSkipReason reason)

Shall we add a static array to map the Enum value to the reason name
instead of adding the following function ?

2.
+          <literal>remote_behind</literal> means that the slot is ahead of the
+          corresponding failover slot on the primary.

I think the current naming and doc is not easy for user to understand. So, I
suggest mentioning the explicit reason of this skip, e.g., the required WALs and
rows are removed or at the risk of removal. We can rename this reason to
"wal_or_rows_removed" and make the document similar to the content in
logicaldecoding.sgml.

Best Regards,
Hou zj