postgres.git / summary / log / commit / refs

commit    275a86bed8a09d372eb8e02966a847f0321aaa32
Author:   Alvaro Herrera <alvherre@alvh.no-ip.org>
Date:     Fri Feb 01 15:00:40 2013 +0000
First released in: 9.3.0, 8.4.16, 9.0.12, 9.1.8, 9.2.3

    Fix typo in freeze_table_age implementation
    
    The original code used freeze_min_age instead of freeze_table_age.  The
    main consequence of this mistake is that lowering freeze_min_age would
    cause full-table scans to occur much more frequently, which causes
    serious issues because the number of writes required is much larger.
    That feature (freeze_min_age) is supposed to affect only how soon tuples
    are frozen; some pages should still be skipped due to the visibility
    map.
    
    Backpatch to 8.4, where the freeze_table_age feature was introduced.
    
    Report and patch from Andres Freund


src/backend/commands/vacuum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 76756dd1d1f..058128d6a44 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -436,7 +436,7 @@ vacuum_set_xid_limits(int freeze_min_age, * VACUUM schedule, the nightly VACUUM gets a chance to freeze tuples * before anti-wraparound autovacuum is launched. */ - freezetable = freeze_min_age; + freezetable = freeze_table_age; if (freezetable < 0) freezetable = vacuum_freeze_table_age; freezetable = Min(freezetable, autovacuum_freeze_max_age * 0.95); [parent: 7c0e6cc96173]