Re: [PERFORM] Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )

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

In response to

Browse pgsql-hackers by date

  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? )

Browse pgsql-performance by date

  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? )