Add CHECK_FOR_INTERRUPTS in Evict{Rel,All}UnpinnedBuffers.

Masahiko Sawada <msawada@postgresql.org>

Commit: 71aa2e1147b9ddae8e6e9717953c28075e287ad2
Author: Masahiko Sawada <msawada@postgresql.org>
Date: 2025-11-04T23:47:22Z
Releases: 18.1
Add CHECK_FOR_INTERRUPTS in Evict{Rel,All}UnpinnedBuffers.

This commit adds CHECK_FOR_INTERRUPTS to the shared buffer iteration
loops in EvictRelUnpinnedBuffers and EvictAllUnpinnedBuffers. These
functions, used by pg_buffercache's pg_buffercache_evict_relation and
pg_buffercache_evict_all, can now be interrupted during long-running
operations.

Backpatch to version 18, where these functions and their corresponding
pg_buffercache functions were introduced.

Author: Yuhang Qiu <iamqyh@gmail.com>
Discussion: https://postgr.es/m/8DC280D4-94A2-4E7B-BAB9-C345891D0B78%40gmail.com
Backpatch-through: 18

Files

PathChange+/−
src/backend/storage/buffer/bufmgr.c modified +4 −0

Discussion