TransactionId 是一個32位的無符號整數,事務和子事務的id,全是按照一個順序來的,當這個32位整數用完一圈後,就需要一些特殊的操作
/*----------
* Check to see if it's safe to assign another XID. This protects against
* catastrophic data loss due to XID wraparound. The basic rules are:
*
* If we're past xidVacLimit, start trying to force autovacuum cycles.
* If we're past xidWarnLimit, start issuing warnings.
To avoid a database shutdown, execute a database-wide VACUUM in that database.
* If we're past xidStopLimit, refuse to execute transactions, unless
* we are running in a standalone backend (which gives an escape hatch
* to the DBA who somehow got past the earlier defenses).
Stop the postmaster and use a standalone backend to vacuum that database.
*----------
*/