Dear Mikhail, Thanks for describing more detail!
> Oh, I actually described the idea a bit incorrectly. The goal isn’t simply to > call WaitForOlderSnapshots(slot.xmin); > rather, it’s to ensure that we wait for slot.xmin in the same way we wait for > regular snapshots (xmin). > ... > One possible solution here would be to register a snapshot with slot.xmin for > the worker backend. > This way, WaitForOlderSnapshots will account for it. Note that apply workers can stop due to some reasons (e.g., disabling subscriptions, error out, deadlock...). In this case, the snapshot cannot eb registered by the worker and index can be re-built during the period. If we do not assume the existence of workers, we must directly somehow check slot.xmin and wait until it is advanced until the REINDEXing transaction. I still think it is risky and another topic. Anyway, this topic introduces huge complexity and is not mandatory for update_deleted detection. We can work on it in later versions based on the needs. Best regards, Hayato Kuroda FUJITSU LIMITED