On Tue, May 18, 2021 at 2:46 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > On Tue, May 18, 2021 at 2:42 PM Peter Geoghegan <p...@bowt.ie> wrote: > > > > On Mon, May 17, 2021 at 10:29 PM Masahiko Sawada <sawada.m...@gmail.com> > > wrote: > > > +1 to fix this. Are you already working on fixing this? If not, I'll > > > post a patch. > > > > I posted a patch recently (last Thursday my time). Perhaps you can review > > it? > > Oh, I missed that the patch includes that fix. I'll review the patch. >
I've reviewed the patch. Here is one comment: if (vacrel->num_index_scans == 0 && - vacrel->rel_pages <= FAILSAFE_MIN_PAGES) + vacrel->rel_pages <= FAILSAFE_EVERY_PAGES) return false; Since there is the condition "vacrel->num_index_scans == 0" we could enter the failsafe mode even if the table is less than 4GB, if we enter lazy_check_wraparound_failsafe() after executing more than one index scan. Whereas a vacuum on the table that is less than 4GB and has no index never enters the failsafe mode. I think we can remove this condition since I don't see the reason why we don't allow to enter the failsafe mode only when the first-time index scan in the case of such tables. What do you think? Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/