PostgreSQL

Old prepared transactions prevent vacuum from advancing relfrozenxid

critical
Resource ContentionUpdated Feb 26, 2026
Technologies:
How to detect:

Old prepared transactions with large age(transactionid) in pg_prepared_xacts prevent VACUUM from advancing relfrozenxid, potentially leading to transaction ID wraparound.

Recommended action:

Check pg_prepared_xacts for rows where age(transactionid) is large. Commit or rollback such prepared transactions to allow vacuum to proceed.