Re: Add missing CHECK_FOR_INTERRUPTS in autovacuum catalog scan loops - Mailing list pgsql-hackers

From Lakshmi N
Subject Re: Add missing CHECK_FOR_INTERRUPTS in autovacuum catalog scan loops
Date
Msg-id CA+3i_M_Jwy2T+L+wT_4yXKG8r1yQFJt3+Gm5wbxap5hKyy_nzA@mail.gmail.com
Whole thread
In response to Re: Add missing CHECK_FOR_INTERRUPTS in autovacuum catalog scan loops  (Dapeng Wang <wangdp20191008@gmail.com>)
Responses Re: Add missing CHECK_FOR_INTERRUPTS in autovacuum catalog scan loops
List pgsql-hackers
Hi,

On Fri, Apr 10, 2026 at 4:57 AM Dapeng Wang <wangdp20191008@gmail.com> wrote:
Lakshmi N <lakshmin.jhs@gmail.com> 于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
Attachment

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication
Next
From: SATYANARAYANA NARLAPURAM
Date:
Subject: Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication