Re: [PATCH] Report no unpinned buffers as insufficient resources

From: Pierre Forstmann <pierre(dot)forstmann(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: MA XUETING <ma(at)sraoss(dot)co(dot)jp>
Subject: Re: [PATCH] Report no unpinned buffers as insufficient resources
Date: 2026-09-26 11:30:28
Message-ID: 179042222819.1129.9520282623409278427.pgcf@coridan.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

The following review has been posted through the commitfest application:
make installcheck-world: tested, passed
Implements feature: tested, passed
Spec compliant: not tested
Documentation: not tested

Hello,

I have used following scenario to trigger "no unpinned buffers available":

1. set following parameters in postgresql.conf:

shared_buffers = 128kB
log_error_verbosity = verbose

2. stop and restart PG server

3. use pgbench:

pgbench -i -s 10 postgres
dropping old tables...
creating tables...
generating data (client-side)...
vacuuming...
creating primary keys...
done in 8.98 s (drop tables 0.01 s, create tables 0.02 s, client-side generate 8.14 s, vacuum 0.31 s, primary keys 0.50 s).

$ pgbench -c 16 -j 16 -T 60 postgres
pgbench (20devel)
starting vacuum...end.
pgbench: error: pgbench: error: pgbench:client 8 script 0 aborted in command 5 query 0: ERROR: no unpinned buffers available
pgbench:pgbench:client 5 script 0 aborted in command 5 query 0: ERROR: no unpinned buffers available
pgbench: error: error: client 4 script 0 aborted in command 5 query 0: ERROR: no unpinned buffers available
error: client 7 script 0 aborted in command 5 query 0: ERROR: no unpinned buffers available

I have checked PG log:

grep 53000 $PGDATA/log/pg.log
2026-09-26 13:23:28.504 CEST [66095] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66102] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66089] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66103] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66094] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66092] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66088] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.504 CEST [66098] ERROR: 53000: no unpinned buffers available
2026-09-26 13:23:28.505 CEST [66091] ERROR: 53000: no unpinned buffers available

We have expected PG error code class:
Class 53 — Insufficient Resources

Patch looks good to me.

Regards,
PF.

The new status of this patch is: Ready for Committer

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Enrique Sánchez 2026-09-26 11:32:00 Re: Extended statistics improvement: multi-column MCV missing values
Previous Message Dean Rasheed 2026-09-26 10:10:14 Re: ON CONFLICT DO SELECT returns rows hidden by a view