From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-performance(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [PERFORM] Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Date: | 2009-08-13 22:35:32 |
Message-ID: | 4A849534.4030506@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
>> Why aren't we more opportunistic about freezing tuples? For instance, if
>> we already have a dirty buffer in cache, we should be more aggressive
>> about freezing those tuples than freezing tuples on disk.
>
> The most widely cited reason is that you lose forensics data. Although
> they are increasingly rare, there are still situations in which the heap
> tuple machinery messes up and the xmin/xmax/etc fields of the tuple are
> the best/only way to find out what happened and thus fix the bug. If
> you freeze early, there's just no way to know.
That argument doesn't apply. If the page is in memory and is being
written anyway, and some of the rows are past vacuum_freeze_min_age,
then why not freeze them rather than waiting for a vacuum process to
read them off disk and rewrite them?
We're not talking about freezing every tuple as soon as it's out of
scope. Just the ones which are more that 100m (or whatever the setting
is) old. I seriously doubt that anyone is doing useful forensics using
xids which are 100m old.
--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-08-13 22:46:10 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Previous Message | Robert Haas | 2009-08-13 22:25:16 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-08-13 22:46:10 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |
Previous Message | Robert Haas | 2009-08-13 22:25:16 | Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? ) |