a) First, my understanding of checkpoint is that it flushes all the pages, that got changed below a particular LSN. If we are not having a LSN in the visibility map, how we will be sure, that a visibility map page is getting flushed/not?
Please ignore this statement. I confused between the checkpoints implemented in Postgres and some other database.