Re: BUG: ReadStream look-ahead exhausts local buffers when effective_io_concurrency>=64

Feike Steenbergen <feikesteenbergen@gmail.com>

From: Feike Steenbergen <feikesteenbergen@gmail.com>
To: Eduard Stepanov <crtxcz@gmail.com>
Cc: Induja Sreekanthan <indujas@google.com>, pgsql-hackers@postgresql.org, Simhachala Sasikanth Gottapu <simhachala@google.com>, Vishal Bagga <vishalbagga@google.com>, Madhukar <madhukarprasad@google.com>, Shihao Zhong <shihaozhong@google.com>, Yi Ding <yidin@google.com>, Hardik Singh Negi <hardiksnegi@google.com>
Date: 2026-05-06T12:24:38Z
Lists: pgsql-hackers
Hi, all,

> On Tue, 10 Mar 2026 at 23:22, Induja Sreekanthan <indujas@google.com>
wrote:
> >
> > Hi,
> >
> > I found an issue where Postgres (with effective_io_concurrency of 64 or
higher) runs out of local buffers during a sequential scan on a temporary
table with TOAST data.
> >

Just to confirm, I have a production db (20TB, high concurrency, lot's of
updates/merges) that
is a heavy user of temp tables running into this as well with
io_method='io_uring'.

This started after having upgraded PostgreSQL 18 (from 17).
For now, the problem disappears again when switching to io_method='worker'

Thank you for providing the patches,

kind regards,

Feike Steenbergen