Add read_stream_{pause,resume}()

Melanie Plageman <melanieplageman@gmail.com>

Commit: 38229cb905165fe676ab8728cb9dd0833a5534ed
Author: Melanie Plageman <melanieplageman@gmail.com>
Date: 2026-03-03T21:03:09Z
Add read_stream_{pause,resume}()

Read stream users can now pause lookahead when no blocks are currently
available. After resuming, subsequent read_stream_next_buffer() calls
continue lookahead with the previous lookahead distance.

This is especially useful for read stream users with self-referential
access patterns (where consuming already-read buffers can produce
additional block numbers).

Author: Thomas Munro <thomas.munro@gmail.com>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CA%2BhUKGJLT2JvWLEiBXMbkSSc5so_Y7%3DN%2BS2ce7npjLw8QL3d5w%40mail.gmail.com

Files

PathChange+/−
src/backend/storage/aio/read_stream.c modified +27 −0
src/include/storage/read_stream.h modified +2 −0

Discussion