Re: Report oldest xmin source when autovacuum cannot remove tuples

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: shinya11(dot)kato(at)gmail(dot)com
Cc: scott(at)scottray(dot)io, laurenz(dot)albe(at)cybertec(dot)at, japinli(at)hotmail(dot)com, qiuwenhuifx(at)gmail(dot)com, samimseih(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Report oldest xmin source when autovacuum cannot remove tuples
Date: 2026-06-02 07:57:55
Message-ID: 20260602.165755.1084850050958933598.horikyota.ntt@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello.

This may be just my personal preference, but I'd rather see
information about xid horizon retention exposed through a SQL-visible
interface than added to the VACUUM log.

VACUUM VERBOSE already reports the removable cutoff and how old it was
when the operation ended. That seems sufficient as a signal that the
xid horizon is being held back.

What I would want to investigate after seeing such a signal is not
necessarily what happened to be blocking that particular VACUUM
operation at some earlier point, but what is holding the xid horizon
back now. For that purpose, a view exposing the current xid/xmin
holders seems more useful and less misleading than adding a
best-effort blocker guess to the VACUUM log.

Also, VACUUM output has traditionally reported facts observed during
the operation. Since the blocker information is reconstructed
afterwards and is explicitly best-effort, it feels somewhat different
in nature from the rest of the information reported there.

Regards,

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Chao Li 2026-06-02 07:58:24 Re: pg_createsubscriber: allow duplicate publication names
Previous Message Joel Jacobson 2026-06-02 07:55:45 Re: PostgreSQL 19 Beta 1 release announcement draft