DB Internals AtlasPostgreSQL 18.6 Home About

Parameter · Vacuuming / Freezing

vacuum_multixact_freeze_min_age

Minimum age at which VACUUM should freeze a MultiXactId in a table row.

  • Default: 5000000
  • Type: integer
  • Range: 0 … 1000000000
  • Applies: Session (any user)

In plain words

The MultiXact counterpart of vacuum_freeze_min_age: when VACUUM visits a row with a MultiXact older than this (5 million), it replaces it with a plain XID or removes it, so old MultiXact storage can be discarded.

For DBAs and operators

Effective value is capped at half of autovacuum_multixact_freeze_max_age. The default (5 million) is much lower than for XIDs, so old MultiXacts are replaced early and pg_multixact can be truncated sooner. After an aggressive vacuum, mxid_age(relminmxid) drops to roughly this value. Lowering it helps tables with heavy row-locking whose pg_multixact directory keeps growing.

How to change it

Any user can change it for their session with SET.

See it in context

XID wraparound and freezing

Related parameters

autovacuum_multixact_freeze_max_age vacuum_multixact_freeze_table_age vacuum_freeze_min_age

All Vacuuming parameters