Enhance slot synchronization API to respect promotion signal.
authorAmit Kapila <akapila@postgresql.org>
Thu, 11 Dec 2025 03:49:28 +0000 (03:49 +0000)
committerAmit Kapila <akapila@postgresql.org>
Thu, 11 Dec 2025 03:49:28 +0000 (03:49 +0000)
commit1362bc33e025fd2848ff38558f5672e2f0f0c7de
treeba14d28ff94d439f8f5fac574d1fd4bb7b6ed480
parente16c6f024718cf854f5b76a4a2ed402f1a7911f1
Enhance slot synchronization API to respect promotion signal.

Previously, during a promotion, only the slot synchronization worker was
signaled to shut down. The backend executing slot synchronization via the
pg_sync_replication_slots() SQL function was not signaled, allowing it to
complete its synchronization cycle before exiting.

An upcoming patch improves pg_sync_replication_slots() to wait until
replication slots are fully persisted before finishing. This behaviour
requires the backend to exit promptly if a promotion occurs.

This patch ensures that, during promotion, a signal is also sent to the
backend running pg_sync_replication_slots(), allowing it to be interrupted
and exit immediately.

Author: Ajin Cherian <itsajin@gmail.com>
Reviewed-by: Shveta Malik <shveta.malik@gmail.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CAFPTHDZAA%2BgWDntpa5ucqKKba41%3DtXmoXqN3q4rpjO9cdxgQrw%40mail.gmail.com
src/backend/replication/logical/slotsync.c