On Wed, Sep 11, 2019 at 3:30 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > On Sun, Sep 1, 2019 at 1:37 PM Alexander Korotkov > <a.korot...@postgrespro.ru> wrote: > > 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?
You're not missed anything. Yes, VM need sync. Will fix this. And I just noticed I need a closer look to what is going on with TOAST. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company