On Sun, 10 Aug 2025 at 01:55, Aleksander Alekseev <aleksan...@tigerdata.com> wrote: > For this reason we have PageHeaderData.pd_lsn for instance - to make sure > pages are evicted only *after* the record that changed it is written > to disk (because WAL records can't be applied to pages from the > future).
We don't bump the LSN of the heap page when setting the visibility map bit. > I guess the intent here could be to do an optimization of some sort > but the facts that 1. the instance can be killed at any time and 2. > there might be replicas - were not considered. > IMHO: logging the changes first, then allowing to evict the page. Clearing the vm before the logging changes was intentional [0]. So I assume we should not change the approach, but rather just tweak things a bit to make the whole thing work. [0] https://www.postgresql.org/message-id/BANLkTimuLk4RHXSQHEEiYGbxiXp2mh5KCA%40mail.gmail.com -- Best regards, Kirill Reshke