Lakshmi N <[email protected]> 于2026年4月11日周六 13:02写道:
> Hi, > > On Fri, Apr 10, 2026 at 4:57 AM Dapeng Wang <[email protected]> > wrote: > >> Lakshmi N <[email protected]> 于2026年4月10日周五 16:39写道: >> >>> Hi hackers, >>> >>> I noticed CFI is missing while scanning pg_class for RELKIND_RELATION >>> and RELKIND_TOASTVALUE. On a database with several thousands of tables, >>> these scans can take a noticeable amount of time. Attached a patch to >>> address this. >>> >>> Regards, >>> Lakshmi >>> >> Hi Lakshmi, >> >> The patch applies cleanly to HEAD and compiles without warnings. >> make check passes (one unrelated ICU collation diff). >> >> The two CHECK_FOR_INTERRUPTS() additions in do_autovacuum() look >> correct and are well-placed at the top of each loop iteration, >> before any resources are acquired. >> >> I noticed there are other similar catalog scan loops in >> autovacuum.c that also lack CHECK_FOR_INTERRUPTS(): >> >> - The pg_database scan loop around line 1854 >> - The pg_class scan loop around line 3664 >> >> Should those be covered as well? >> > > Updated the patch covering those two as well. > > > Regards, > Lakshmi > Hi Lakshmi, The updated patch now covers all four catalog scan loops. Applies cleanly, compiles without warnings, and all 247 regression tests pass. Regards, Dapeng Wang
