diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2013-02-01 12:00:40 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2013-02-01 12:10:30 -0300 |
commit | 3c6e719eac07f64fb6672e0bc20547957a87575a (patch) | |
tree | 3fac55cbe4e4fefc960444f193d413e9e74941b1 /src | |
parent | 1d857a6036fa0e17c6c4f9ee116622956a8fe920 (diff) | |
download | postgresql-3c6e719eac07f64fb6672e0bc20547957a87575a.tar.gz postgresql-3c6e719eac07f64fb6672e0bc20547957a87575a.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/commands/vacuum.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index bfdf8e38b1a..4d1d97284e3 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -434,7 +434,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); |