Epoch wordt gebruikt om te voorkomen dat txid_current() omwikkelt en begint bij nul (of om precies te zijn vanaf 3 omdat waarden 0,1,2 intern worden gebruikt).
Dus het werkt als volgt:
Postgres heeft een interne 32bit xid-teller die anders is dan de waarde die wordt geretourneerd door txid_current(). De interne xid wikkelt zich om en stelt zijn telling bij elke omhulling opnieuw in.
De txid_current(), aan de andere kant, retourneert 64-bits (bigint) waarin de hoge bits een epoche-increment zijn dat eenmaal per xid-omslag plaatsvindt en niet vanaf nul begint.
Dus bij elke omhulling begint het tijdperk en worden de hoge bits van txid_current() gewijzigd om te voorkomen dat txids opnieuw worden ingesteld, en in plaats daarvan blijven txids toenemen totdat de 64-bits limiet is bereikt (soms in een zeer verre toekomst, lang nadat we allemaal dood zijn). /P>