Re: autovacuum not prioritising for-wraparound tables - Mailing list pgsql-hackers

From Andres Freund
Subject Re: autovacuum not prioritising for-wraparound tables
Date
Msg-id 20130128141024.GB27740@awork2.anarazel.de
Whole thread Raw
In response to Re: autovacuum not prioritising for-wraparound tables  (Josh Berkus <josh@agliodbs.com>)
Responses Re: autovacuum not prioritising for-wraparound tables
Re: autovacuum not prioritising for-wraparound tables
List pgsql-hackers
On 2013-01-29 00:11:12 +1100, Josh Berkus wrote:
> 
> > So I think we need to sort by age(relfrozenxid) in tables that are over
> > the anti-wraparound limit. Given your code that doesn't seem to be that
> > hard?
> 
> I might also suggest that we think about changing the defaults for
> wraparound vacuum behavior.  Partcularly, the fact that
> vacuum_freeze_min_age is 50% of autovacuum_freeze_max_age by default is
> optimal for absolutely nobody, and forces re-wraparound vacuuming of
> wraparound tables which were just recently wraparound-vacuumed.  We
> should lower vacuum_freeze_min_age to something sane, like 1000000.

I have to admit, I fail to see why this is a good idea. There isn't much
of an efficiency bonus in freezing early (due to hint bits) and vacuums
over vacuum_freeze_table_age are considerably more expensive as they
have to scan the whole heap instead of using the visibilitymap. And if
you don't vacuum the whole heap you can't lower relfrozenxid. So
changing freeze_min_age doesn't help at all to avoid anti-wraparound
vacuums.

Am I missing something?

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Pavan Deolasee
Date:
Subject: Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples
Next
From: Simon Riggs
Date:
Subject: Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples