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