From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Date: | 2009-08-13 23:20:23 |
Message-ID: | 1250205623.24981.128.camel@monkey-cat.sm.truviso.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
On Thu, 2009-08-13 at 19:05 -0400, Tom Lane wrote:
> What are you envisioning exactly? If vacuum finds any reason to dirty
> a page (or it's already dirty), then freeze everything on the page that's
> got age > some lower threshold?
Yes. There are two ways to do the threshold:
1. Constant fraction of vacuum_freeze_min_age
2. Extra GUC
I lean toward #1, because it avoids an extra GUC*, and it avoids the
awkwardness when the "lower" setting is higher than the "higher"
setting.
However, #2 might be nice for people who want to live on the edge or
experiment with new values. But I suspect most of the advantage would be
had just by saying that we opportunistically freeze tuples older than
50% of vacuum_freeze_min_age.
Regards,
Jeff Davis
*: As an aside, these GUCs already have incredibly confusing names, and
an extra variable would increase the confusion. For instance, they seem
to use "min" and "max" interchangeably.
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Davis | 2009-08-13 23:21:09 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Previous Message | Josh Berkus | 2009-08-13 23:16:37 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Davis | 2009-08-13 23:21:09 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Previous Message | Josh Berkus | 2009-08-13 23:16:37 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |