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