public inbox for [email protected]  
help / color / mirror / Atom feed
From: wenhui qiu <[email protected]>
To: Mok <[email protected]>
Cc: David Rowley <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: New vacuum config to avoid anti wraparound vacuums
Date: Fri, 24 Apr 2026 15:39:00 +0800
Message-ID: <CAGjGUAL3J5nfz4+xgOGMB1Os6MHK_B24-YSc6YF3HWGcHWQonA@mail.gmail.com> (raw)
In-Reply-To: <GLEV5fUtSc1YTeNMMmCbl3RsUJXzbclrg4tgYP_xh1db3F8ErUZ-lmLaVDNPBS0JeanYUCVKyanNRY-rEbo2Ep1XnDEQuJB8DuuwtqdFGdA=@protonmail.com>
References: <CeFiI3W4yXPznxyELYARQ5H6Cfy1HJIm0Tsn5CDVINyORFVwKfIMwc5EKHYlVzAjy5vgHgfA7X7lgfA3CnD0GchBvuanglpr4xd-IoyjPWY=@protonmail.com>
	<CAApHDvonBh3YPGzFjg79-9RPRcnWVrzZyLR1xr05WxdY=EqjSg@mail.gmail.com>
	<AkM6NiLDE4pBr-PL1M79iydoh3enMO-UruUI2Xd3n3xOysAjGbm-lYz34DrLZcKbtRehBYM8lHRY6zVYZZkqL8vcM55LEt8i0lKVGwWUX54=@protonmail.com>
	<CAApHDvoa0ZwBjFYRypxHaqdFYwwDd6rTr5GWY8LASXr3kWY8Dg@mail.gmail.com>
	<GLEV5fUtSc1YTeNMMmCbl3RsUJXzbclrg4tgYP_xh1db3F8ErUZ-lmLaVDNPBS0JeanYUCVKyanNRY-rEbo2Ep1XnDEQuJB8DuuwtqdFGdA=@protonmail.com>

HI Mok

On Fri, Apr 24, 2026 at 2:16 PM Mok <[email protected]> wrote:

>
>
> On Thursday, April 23rd, 2026 at 3:10 PM, David Rowley <
> [email protected]> wrote:
>
> > On Fri, 24 Apr 2026 at 01:04, Mok <[email protected]> wrote:
> > >
> > > On Thursday, April 23rd, 2026 at 4:44 AM, David Rowley <
> [email protected]> wrote:
> > >
> > > > On Thu, 23 Apr 2026 at 08:19, Mok <[email protected]> wrote:
> > > > > For example, set to 0.8 a 'standard' vacuum would be triggered
> when the table reached 160million with a default 200million setting.
> > > >
> > > > If that's what you want, why wouldn't you set the
> > > > autovacuum_freeze_max_age to 160million?
> > >
> > > Because that would trigger a 'to-prevent-wraparound' vacuum, which is
> what this change is trying to avoid.
> >
> > Yes, it would. Why do you want to prevent them? I believe a few people
> > have been alarmed in the past about the "to prevent wraparound" text
> > in pg_stat_activity or when they saw those words in the logs. The
> > default 200 million autovacuum_freeze_max_age setting triggers an
> > autovacuum when it's less than 10% of the way into exhausting the
> > transaction space for the table. What you're proposing with an
> > autovacuum_age_scale_factor of 0.1 sounds like it would result in an
> > auto-vacuum when only 1% of the transaction ID space is consumed! I
> > think you're under the false impression that these anti-wraparound
> > vacuums are bad. They're not.
> >
> > There's some documentation that might be worthwhile reading in [1].
> >
> > David
> >
> > [1]
> https://www.postgresql.org/docs/18/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND
> >
>
> > On large tables they can be quite inconvenient so avoiding them is
> preferable. My example of 0.1 is to test the patch if you tried it. The
> range for this
> > setting is 0.1 -> 1 with the latter effectively rendering the setting
> moot.
> I don't know where you got that idea from. For example have a table with 1
> billion records, autovacuum_vacuum_scale_factor = 0.01 ,
> 50+1000000000 *0.01 = 10000050 ,you can reduce
> autovacuum_vacuum_max_threshold  substantially lower than 10000050 ,
> vacthresh = (float4) vac_base_thresh + vac_scale_factor * reltuples;
> if (vac_max_thresh >= 0 && vacthresh > (float4) vac_max_thresh)
> vacthresh = (float4) vac_max_thresh;
>
> There's no fundamental difference between this and your parameter
>


view thread (9+ messages)  latest in thread

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: New vacuum config to avoid anti wraparound vacuums
  In-Reply-To: <CAGjGUAL3J5nfz4+xgOGMB1Os6MHK_B24-YSc6YF3HWGcHWQonA@mail.gmail.com>

* 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