pgsql: Reject currtid2() on unlogged tables during recovery.

From: Masahiko Sawada <msawada(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Reject currtid2() on unlogged tables during recovery.
Date: 2026-10-21 18:13:22
Message-ID: E1xJaoU-00000000Djl-27eu@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Reject currtid2() on unlogged tables during recovery.

Commit 1e707d32564 made COPY TO report a proper error for unlogged
tables during recovery. currtid2() has the same problem: it reads the
table directly without going through the planner, so on a standby it
failed with a low-level error for an unlogged table:

ERROR: could not open file "base/5/16384": No such file or directory

Check for this case and report the same error as SELECT. No test is
added, as currtid2() is an undocumented internal function.

Backpatch to all supported versions, like commit 1e707d32564.

Reported-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Author: Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>
Discussion: https://postgr.es/m/CAD21AoDNa7pL760_23AN_wYPMkWXCt+Kw0_vJAcci4R5DoCQGg@mail.gmail.com
Backpatch-through: 14

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/3e53104dc32f78b4957beb582bed6e1bd19c685c

Modified Files
--------------
src/backend/utils/adt/tid.c | 7 +++++++
1 file changed, 7 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Masahiko Sawada 2026-10-21 18:13:26 pgsql: Reject currtid2() on unlogged tables during recovery.
Previous Message Masahiko Sawada 2026-10-21 18:13:18 pgsql: Reject currtid2() on unlogged tables during recovery.