Re: Improve pg_sync_replication_slots() to wait for primary to advance
Yilin Zhang <jiezhilove@126.com>
From: "Yilin Zhang" <jiezhilove@126.com>
To: "Ajin Cherian" <itsajin@gmail.com>
Cc: "Chao Li" <li.evan.chao@gmail.com>, "shveta malik" <shveta.malik@gmail.com>, "Amit Kapila" <amit.kapila16@gmail.com>, "Ashutosh Bapat" <ashutosh.bapat.oss@gmail.com>, "Japin Li" <japinli@hotmail.com>, "Ashutosh Sharma" <ashu.coek88@gmail.com>, "PostgreSQL mailing lists" <pgsql-hackers@postgresql.org>
Date: 2025-12-10T05:22:39Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Enhance slot synchronization API to respect promotion signal.
- 4bed04d39566 17.10 landed
- 94efd308bcec 18.4 landed
- 1362bc33e025 19 (unreleased) landed
-
Fix inconsistent elevel in pg_sync_replication_slots() retry logic.
- f1ddaa15357f 19 (unreleased) landed
-
Refactor slot synchronization logic in slotsync.c.
- 788ec96d591d 19 (unreleased) landed
-
Fix intermittent BF failure in 040_standby_failover_slots_sync.
- b47c50e5667b 19 (unreleased) landed
-
Add retry logic to pg_sync_replication_slots().
- 0d2d4a0ec3ec 19 (unreleased) landed
-
Fix LOCK_TIMEOUT handling in slotsync worker.
- 04396eacd3fa 19 (unreleased) cited
-
Add slotsync skip statistics.
- 76b78721ca49 19 (unreleased) cited
At 2025-12-10 13:07:34, "Ajin Cherian" <itsajin@gmail.com> wrote: > >I'm not sure if this is much of an improvement, I like the current >approach and matches with similar coding patterns in the code base. > >Attaching v34 addressing the above comments. > Hi, Few comments for v34. 1 - 0002 ``` --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -39,6 +39,12 @@ * the last cycle. Refer to the comments above wait_for_slot_activity() for * more details. * + * If the SQL function pg_sync_replication is used to sync the slots, and if ``` Typo, it should be "pg_sync_replication_slots()" instead of "pg_sync_replication". 2 - 0002 ``` + /* + * The syscache access in fetch_or_refresh_remote_slots() needs a + * transaction env. + */ ``` Typo, it should be "fetch_remote_slots()" instead of "fetch_or_refresh_remote_slots()". 3 - 0002 ``` + appendStringInfo(&query, "'%s'", slot_name); ``` Instead of manually add single quotes to slot name, consider using quote_literal_cstr(). While I was reviewing patch v32, Ajin Cherian had already submitted patch v34, but these issues still persisted. Best regards, -- Yilin Zhang