PostgreSQL

Transaction ID wraparound prevents new transactions and causes database shutdown

critical
availabilityUpdated Feb 15, 2026
Technologies:
How to detect:

Transaction IDs approach the wraparound limit because VACUUM has not cleaned up old transaction IDs. PostgreSQL will refuse to process new transactions to prevent data corruption when the limit is reached.

Recommended action:

Monitor transaction ID age using check_postgres transaction wraparound checks. Ensure VACUUM runs regularly and successfully. If approaching wraparound, run manual VACUUM FREEZE on affected databases immediately.