[PERFORM] Re: freezing tuples ( was: Why is vacuum_freeze_min_age100m? )

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Jeff Davis" <pgsql(at)j-davis(dot)com>
Cc: "Josh Berkus" <josh(at)agliodbs(dot)com>,<pgsql-hackers(at)postgresql(dot)org>, <pgsql-performance(at)postgresql(dot)org>
Subject: [PERFORM] Re: freezing tuples ( was: Why is vacuum_freeze_min_age100m? )
Date: 2009-08-13 22:17:28
Message-ID: 4A844AA80200002500029A7F@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Jeff Davis wrote:
>
>> 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.

Although I find it hard to believe that this is compelling argument in
the case where an entire table or database is loaded in a single
database transaction.

In the more general case, I'm not sure why this argument applies here
but not to cassert and other diagnostic options. It wouldn't surprise
me to find workloads where writing data three times (once for the
data, once for hint bits, and once to freeze the tid) affects
performance more than cassert.

-Kevin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2009-08-13 22:20:43 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )
Previous Message Alvaro Herrera 2009-08-13 21:58:04 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Davis 2009-08-13 22:20:43 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )
Previous Message Alvaro Herrera 2009-08-13 21:58:04 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )