Re: Eagerly scan all-visible pages to amortize aggressive vacuum

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Robert Treat <rob(at)xzilla(dot)net>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, Marcos Pegoraro <marcos(at)f10(dot)com(dot)br>, Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>, Andres Freund <andres(at)anarazel(dot)de>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Geoghegan <pg(at)bowt(dot)ie>
Subject: Re: Eagerly scan all-visible pages to amortize aggressive vacuum
Date: 2025-01-27 17:03:53
Message-ID: CA+Tgmobk5iEtCDEmx1txi2ZQMujRiYoB6S-hrPSactFtexoyZg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jan 26, 2025 at 3:11 PM Robert Treat <rob(at)xzilla(dot)net> wrote:
> Hmm... isn't "don't try" really more logically equivalent to "stop
> after zero failures", with "try until zero failures" more of the
> inverse... more like "never stop never stopping"?

No. Or at least, I don't think that's how English works.

> So that middle bit is trying to act as glue that pulls this all
> together. I thought the previous version was closer, with Haas's
> feedback I might go with something more like this:
>
> <para>
> - <command>VACUUM</command> normally only scans pages that have been modified
> - since the last vacuum, but
> <structfield>relfrozenxid</structfield> can only be
> - advanced when every page of the table
> - that might contain unfrozen XIDs is scanned. This happens when
> + While <command>VACUUM</command> typically scans pages that have been
> + modified since the last vacuum, it may also eagerly scan some
> all-visible but not
> + all-frozen pages in an attempt to freeze them, but the
> + <structfield>relfrozenxid</structfield> will only be advanced when
> + every page of the table that might contain unfrozen XIDs is scanned.
> + This happens when

I like that.

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Sami Imseih 2025-01-27 17:22:16 Re: POC: track vacuum/analyze cumulative time per relation
Previous Message Oliver Ford 2025-01-27 16:19:30 Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options