Re: New GUC autovacuum_max_threshold ?

From: Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>
To: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Cc: Sami Imseih <samimseih(at)gmail(dot)com>, Robert Treat <rob(at)xzilla(dot)net>, Frédéric Yhuel <frederic(dot)yhuel(at)dalibo(dot)com>, wenhui qiu <qiuwenhuifx(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "Imseih (AWS), Sami" <simseih(at)amazon(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Joe Conway <mail(at)joeconway(dot)com>, Michael Banck <mbanck(at)gmx(dot)net>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: New GUC autovacuum_max_threshold ?
Date: 2025-01-14 20:35:17
Message-ID: c5c90e56-6c66-4125-af11-b4b3eb38aaed@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi! Thanks for your work! it is very useful.

On 14.01.2025 05:09, Nathan Bossart wrote:
> On Mon, Jan 13, 2025 at 05:17:11PM -0600, Sami Imseih wrote:
>> I propose renaming the GUC from "autovacuum_max_threshold" to
>> "autovacuum_vacuum_max_threshold" to clarify that it applies only
>> to the vacuum operation performed by autovacuum, not to the analyze operation.
>> This will also align with naming for other related GUCs, i.e.,
>> "autovacuum_analyze_threshold" and "autovacuum_vacuum_threshold."
>>
>> The "vacuum threshold" calculation described in [1] will also need to be
>> updated.
> Good call. Here is an updated patch.
>
I found one minor mistake in postgresql.conf:

#autovacuum_vacuum_max_threshold = 100000000    # max number of row updates
                        # before vacuum; -1 disables max
                        # threshold

I think instead of "# threshold" should be "#vacuum"?

There is a typo:

* if (threshold > vac_max_thresh)
* threshold = vac_max_thres; - here

I think you should add more information to the description of the
Relations_needs_vacanalyze function: what is vac_max_thresh and how is
it calculated. It is not clear what the below condition means.

/* -1 is used to disable max threshold */
vac_max_thresh= (relopts&& relopts->vacuum_max_threshold>= -1)
? relopts->vacuum_max_threshold
: autovacuum_vac_max_thresh;

--
Regards,
Alena Rybakina
Postgres Professional

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2025-01-14 20:35:39 Re: pgsql: Consolidate docs for vacuum-related GUCs in new subsection
Previous Message Masahiko Sawada 2025-01-14 20:02:36 Re: Skip collecting decoded changes of already-aborted transactions