On Sun, Sep 1, 2019 at 1:37 PM Alexander Korotkov <a.korot...@postgrespro.ru> wrote: > > Hi! > > I found it weird that CLUSTER/VACUUM FULL don't write visibility map. > Attached patch implements writing visibility map in > heapam_relation_copy_for_cluster(). > > I've studied previous attempt to implement this [1]. The main problem > of that attempt was usage of existing heap_page_is_all_visible() and > visibilitymap_set() functions. These functions works through buffer > manager, while heap rewriting is made bypass buffer manager. > > In my patch visibility map pages are handled in the same way as heap > pages are. >
I haven't studied this patch in detail, but while glancing I observed that this doesn't try to sync the vm pages as we do for heap pages in the end (during end_heap_rewrite). Am I missing something? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com