From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
---|---|
To: | Josh Berkus <josh(at)agliodbs(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: autovacuum not prioritising for-wraparound tables |
Date: | 2013-01-28 14:10:24 |
Message-ID: | 20130128141024.GB27740@awork2.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2013-01-28 14:12:33 | Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples |
Previous Message | Pavan Deolasee | 2013-01-28 13:54:04 | Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples |