On 8/11/09 2:14 PM, Josh Berkus wrote:
> All,
>
> I've just been tweaking some autovac settings for a large database, and
> came to wonder: why does vacuum_max_freeze_age default to such a high
> number? What's the logic behind that?
>
> AFAIK, you want max_freeze_age to be the largest possible interval of
> XIDs where an existing transaction might still be in scope, but no
> larger. Yes?
>
> If that's the case, I'd assert that users who do actually go through
> 100M XIDs within a transaction window are probably doing some
> hand-tuning. And we could lower the default for most users
> considerably, such as to 1 million.
(replying to myself) actually, we don't want to set FrozenXID until the
row is not likely to be modified again. However, for most small-scale
installations (ones where the user has not done any tuning) that's still
likely to be less than 100m transactions.
--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com