agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Nathan Bossart <nathan@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Avoid division-by-zero when calculating autovacuum MXID score.
Date: Thu, 18 Jun 2026 15:19:59 +0000
Message-ID: <E1waEX8-000sk1-3C@gemulon.postgresql.org> (raw)

Avoid division-by-zero when calculating autovacuum MXID score.

In some cases, effective_multixact_freeze_max_age can be 0, which
presents a division-by-zero hazard for the multixact ID age score
calculation.  To fix, bump it to 1 in that case so that we use the
multixact ID age as the score.  While at it, also document that
this component score scales due to high multixact member space
usage.

Reported-by: Masahiko Sawada <sawada.mshk@gmail.com>
Author: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Discussion: https://postgr.es/m/CAD21AoC6nKeYAjTvJ9dmBea03GZK9222h_O%3DONmcVuxfyO88Bg%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1f2297b548794a0fec502a9fc70c9970d96b09c4

Modified Files
--------------
doc/src/sgml/maintenance.sgml       |  6 ++++--
src/backend/postmaster/autovacuum.c | 11 ++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)



Message-ID: <E1waEX8-000sk1-3C@gemulon.postgresql.org>
Permalink:  ../E1waEX8-000sk1-3C@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1waEX8-000sk1-3C@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: nathan@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Avoid division-by-zero when calculating autovacuum MXID score.
  In-Reply-To: <E1waEX8-000sk1-3C@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