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

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(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:07:39
Message-ID: 4A849CBB.2060201@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Jeff, Tom,

>> Let's say that we had a range like 50-100M, where if it's older than
>> 100M, we freeze it, and if it's older than 50M we freeze it only if it's
>> on a dirty page. We would still have forensic evidence, but we could
>> make a range such that we avoid writing multiple times.
>
> Yeah, making the limit "slushy" would doubtless save some writes, with
> not a lot of downside.

This would mean two settings: vacuum_freeze_min_age and
vacuum_freeze_dirty_age. And we'd need to add those to the the
autovacuum settings for each table as well. While we could just make
one setting 1/2 of the other, that prevents me from saying:

"freeze this table agressively if it's in memory, but wait a long time
to vaccuum if it's on disk"

I can completely imagine a table which has a vacuum_freeze_dirty_age of
10000 and a vacuum_freeze_min_age of 1m.

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2009-08-13 23:16:37 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )
Previous Message Tom Lane 2009-08-13 23:05:57 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )

Browse pgsql-performance by date

  From Date Subject
Next Message Greg Stark 2009-08-13 23:14:00 Re: Under the hood of views
Previous Message Tom Lane 2009-08-13 23:05:57 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )