PostgreSQL

Long-running transactions prevent vacuum from advancing relfrozenxid

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

Long-running open transactions with large age(backend_xid) or age(backend_xmin) in pg_stat_activity prevent VACUUM from advancing relfrozenxid, potentially leading to transaction ID wraparound and database unavailability.

Recommended action:

Check pg_stat_activity for rows where age(backend_xid) or age(backend_xmin) is large. Commit or rollback such transactions, or terminate the session using pg_terminate_backend.