| From: | Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)com> |
|---|---|
| To: | Dapeng Wang <wangdp20191008(at)gmail(dot)com> |
| Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Add missing CHECK_FOR_INTERRUPTS in autovacuum catalog scan loops |
| Date: | 2026-04-11 05:02:02 |
| Message-ID: | CA+3i_M_Jwy2T+L+wT_4yXKG8r1yQFJt3+Gm5wbxap5hKyy_nzA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Fri, Apr 10, 2026 at 4:57 AM Dapeng Wang <wangdp20191008(at)gmail(dot)com>
wrote:
> Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)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 | Content-Type | Size |
|---|---|---|
| v2-0001-Add-CHECK_FOR_INTERRUPTS-in-autovacuum-table-scannin.patch | application/octet-stream | 1.4 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | SATYANARAYANA NARLAPURAM | 2026-04-11 05:26:12 | Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication |
| Previous Message | Amit Kapila | 2026-04-11 04:34:14 | Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication |