Type: | integer |
Default: | 200000000 |
Min: | 100000 |
Max: | 2000000000 |
Context: | postmaster |
Restart: | true |
Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled.
Vacuum also allows removal of old files from the pg_xact subdirectory, which is why the default is a relatively low 200 million transactions. This parameter can only be set at server start, but the setting can be reduced for individual tables by changing table storage parameters. For more information see vacuum-for-wraparound.
Recommendations
Triggers autovacuum automatically if a table is about to suffer from XID rollover. The setting is very conservative, and should probably be increased to 500million, but not higher.
On StackOverflow
On pgsql-hackers
- Re: [PATCH] Support Int64 GUCs
- Re: FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple
- FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple
- RE: Some shared memory chunks are allocated even if related processes won't start
- How to stop autovacuum silently