On Mon, Jan 14, 2019 at 9:24 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > I think that because the tuples that got dead after heap_page_prune() > looked are recorded but not removed without lazy_vacuum_page() we need > to process them in lazy_vacuum_page(). For decision about whether to > truncate we should not change it, so I will fix it. It should be an > another option to control whether to truncate if we want.
I think that heap_page_prune() is going to truncate dead tuples to dead line pointers. At that point the tuple is gone. The only remaining step is to mark the dead line pointer as unused, which can't be done without scanning the indexes. So I don't understand what lazy_vacuum_page() would need to do in this case. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company