Top
Enterprise Postgres 17 Operation Guide

9.7 Scheduling of an Aggressive Freeze for Tuples (VACUUM FREEZE)

An architectural limitation of PostgreSQL is that it requires transaction ID reclamation via tuple freezing to avoid the problem of disruptive transaction wraparound. For more information about transaction wraparound issues, refer to "Preventing Transaction ID Wraparound Failures" in the PostgreSQL Documentation.

Tuple freezing works with autovacuum and VACUUM FREEZE(aggressive freeze for tuples). However, on a system that consumes transactions quickly, autovacuum alone might be enough to run into wraparound problems. This is because autovacuum is slow to reduce frequency of collisions with applications and increase system load. Such systems must perform an aggressive tuple freeze at the appropriate time.

Fujitsu Enterprise Postgres provides scripts to perform efficient aggressive freeze for tuples.

This section describes how to monitor whether the freezing process is on time in a running system, and how to estimate the running time of the script.

Point

If you insert or update a large amount of data at once, the next freeze process will take a long time, so be sure to perform aggressive freeze for tuples after such operations.