agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Michael Paquier <michael@paquier.xyz>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Forbid pg_get_multixact_stats() during recovery
Date: Thu, 24 Sep 2026 00:36:21 +0000
Message-ID: <E1x9XRl-00000000zUI-26ja@gemulon.postgresql.org> (raw)

Forbid pg_get_multixact_stats() during recovery

MultiXactState->oldestOffset is not maintained during recovery, so
calling pg_get_multixact_stats() in this context would report misleading
information.  We could try to work this out by adding this field to the
control file, for example, but such a change would be too invasive at
this stage of the v19 development cycle.

The information of pg_get_multixact_stats() is usually useful to control
the need of some VACUUM or some freezing, operations that cannot happen
on a standby, so the argument to make the function work while recovery
is in progress gets thinner with this point in the balance.

The function is updated to return an ERROR when called under
RecoveryInProgress().

Per discussion with Heikki Linnakangas and Naga Appani.

Reported-by: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/CA+QeY+DcnsZRL4GZD8JyJu5HD-d6p8_9M5kT4jgF3gq3Rh8n4w@mail.gmail.com
Discussion: https://postgr.es/m/20260827231757.78.noahmisch@microsoft.com
Backpatch-through: 19

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4545cee303c257e58195e3d033c05bf38e2cd4d6

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



view thread (2+ messages)  latest in thread

Message-ID: <E1x9XRl-00000000zUI-26ja@gemulon.postgresql.org>
Permalink:  ../E1x9XRl-00000000zUI-26ja@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1x9XRl-00000000zUI-26ja@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: michael@paquier.xyz, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Forbid pg_get_multixact_stats() during recovery
  In-Reply-To: <E1x9XRl-00000000zUI-26ja@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox