↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / Configuration Parameters

vacuum_failsafe_age

Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before VACUUM takes extraordinary measures to avoid system-wide transaction ID wraparound failure. This is VACUUM's strategy of last resort. The failsafe typically triggers when an autovacuum to prevent transaction ID wraparound has already been running for some time, though it's possible for the failsafe to trigger during any VACUUM. When the failsafe is triggered, any cost-based delay that is in effect will no longer be applied, further non-essential maintenance tasks (such as index vacuuming) are bypassed, and any Buffer Access Strategy in use will be disabled resulting in VACUUM being free to make use of all of shared buffers. The default is 1.6 billion transactions. Although users can set this value anywhere from zero to 2.1 billion, VACUUM will silently adjust the effective value to no less than 105% of autovacuum_freeze_max_age.

English manual coverage begins with PostgreSQL 7.4. Source history and runtime observations have their own recorded version boundaries.

Reading PG 18·Select a recorded version

boot val
1600000000
category
Vacuuming / Freezing
context
user
doc same as
Unknown
documented
true
enumvals
Unknown
extra desc
Unknown
lang
en
max val
2100000000
metadata version
18
min val
0
name
vacuum_failsafe_age
short desc
Age at which VACUUM should trigger failsafe to avoid a wraparound outage.
source
pg-settings-source-snapshot
unit
Unknown
vartype
integer

Definition PG 18

Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before VACUUM takes extraordinary measures to avoid system-wide transaction ID wraparound failure. This is VACUUM's strategy of last resort. The failsafe typically triggers when an autovacuum to prevent transaction ID wraparound has already been running for some time, though it's possible for the failsafe to trigger during any VACUUM.

When the failsafe is triggered, any cost-based delay that is in effect will no longer be applied, further non-essential maintenance tasks (such as index vacuuming) are bypassed, and any Buffer Access Strategy in use will be disabled resulting in VACUUM being free to make use of all of shared buffers.

The default is 1.6 billion transactions. Although users can set this value anywhere from zero to 2.1 billion, VACUUM will silently adjust the effective value to no less than 105% of autovacuum_freeze_max_age.

Compare versions

Complete source facts

doc html

<p>
         Specifies the maximum age (in transactions) that a table's
         <code class="structname">pg_class</code>.<code class="structfield">relfrozenxid</code>
         field can attain before <code class="command">VACUUM</code> takes
         extraordinary measures to avoid system-wide transaction ID
         wraparound failure.  This is <code class="command">VACUUM</code>'s
         strategy of last resort.  The failsafe typically triggers
         when an autovacuum to prevent transaction ID wraparound has
         already been running for some time, though it's possible for
         the failsafe to trigger during any <code class="command">VACUUM</code>.
        </p><p>
         When the failsafe is triggered, any cost-based delay that is
         in effect will no longer be applied, further non-essential
         maintenance tasks (such as index vacuuming) are bypassed, and any
         <a class="glossterm" href="/docs/18/glossary.html#GLOSSARY-BUFFER-ACCESS-STRATEGY"><em class="glossterm"><a class="glossterm" href="/docs/18/glossary.html#GLOSSARY-BUFFER-ACCESS-STRATEGY" title="Buffer Access Strategy">Buffer Access Strategy</a></em></a>
         in use will be disabled resulting in <code class="command">VACUUM</code> being
         free to make use of all of
         <a class="glossterm" href="/docs/18/glossary.html#GLOSSARY-SHARED-MEMORY"><em class="glossterm"><a class="glossterm" href="/docs/18/glossary.html#GLOSSARY-SHARED-MEMORY" title="Shared memory">shared buffers</a></em></a>.
        </p><p>
         The default is 1.6 billion transactions.  Although users can
         set this value anywhere from zero to 2.1 billion,
         <code class="command">VACUUM</code> will silently adjust the effective
         value to no less than 105% of <a class="xref" href="/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-FREEZE-MAX-AGE">autovacuum_freeze_max_age</a>.
        </p>

documentation revision

{"inputs":[{"file":"runtime-config-vacuum.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"599d3819c5fa60f160ba633df604ee9afd85549ffad2ae2fb0c3132a00d47417","version":"18.7"},{"file":"runtime-config-vacuum.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"b835e4b6c446cfdaf673750aba29ba28fc55ef6cc0c531558c1e394fdc05a140","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"}

Source references

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · wiki-repair-20261023:7508752469e25373a805a69bf3a8fa680e75c05bd64d1a62a723d9953cf71505

Text language: en · wiki-repair-20261023:7508752469e25373a805a69bf3a8fa680e75c05bd64d1a62a723d9953cf71505