Re: Report oldest xmin source when autovacuum cannot remove tuples

From: wenhui qiu <qiuwenhuifx(at)gmail(dot)com>
To: Shinya Kato <shinya11(dot)kato(at)gmail(dot)com>
Cc: Scott Ray <scott(at)scottray(dot)io>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, laurenz(dot)albe(at)cybertec(dot)at, japinli(at)hotmail(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-03 02:32:07
Message-ID: CAGjGUAKokqBPhw+56gU-3o3SOJe3d4TqPceCrS4K9gdYsw3ZsQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

HI Shinya
> I agree that exposing xid horizon retention information via a
> SQL-visible interface is valuable. However, I believe reporting it
> in the VACUUM log is also important: a view only shows the current
> state, so once a blocker has gone away there is no way to determine,
> after the fact, what was holding the horizon back at the time a
> particular VACUUM ran. Logs are the only durable record we have for
> that kind of post-hoc analysis.
Agree +1,There's no denying that checking SQL is easier than checking logs.
Logs are also important though. In fact, I think we should apply this patch
first and implement the SQL later.

Thanks

On Wed, Jun 3, 2026 at 9:25 AM Shinya Kato <shinya11(dot)kato(at)gmail(dot)com> wrote:

> On Wed, Jun 3, 2026 at 10:05 AM Scott Ray <scott(at)scottray(dot)io> wrote:
> > I've been working on a view like this. It shows the horizon
> > contribution for each backend, prepared xact, replication slot, and
> > HSF walsender, broken down by class. It also shows - for each
> > contributor - how the horizon would shift if that holder were
> > removed.
> >
> > Shinya said [1] that we could have a view in the future. We could
> > have both the logging and the view call a single function that reads
> > the procArray and other sources to gather the horizon information. I
> > think the logging and the view would complement each other.
> >
> > Should I start another thread?
>
> My mild preference would be to keep the discussion on this thread,
> since the shared function design is central to both the log and the
> view and may be easier to keep aligned in one place. That said, I'm
> not strongly attached to that, so please pick whichever feels more
> convenient.
>
>
> --
> Best regards,
> Shinya Kato
> NTT OSS Center
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tingchuan Sun 2026-06-03 03:16:49 Re:Reject HEADER with binary and json COPY formats by option presence
Previous Message Chao Li 2026-06-03 02:25:28 Re: pg_createsubscriber: allow duplicate publication names