Epoch é usado para evitar que txid_current() se envolva e comece do zero (ou para ser exato de 3 porque os valores 0,1,2 são usados internamente).
Então funciona lite isso:
O Postgres possui um contador xid interno de 32 bits que é diferente do valor retornado por txid_current(). O xid interno envolve e redefine sua contagem a cada volta.
O txid_current(), por outro lado, retorna 64 bits (bigint) em que os bits mais altos são um incremento de época que acontece uma vez por xid e não começa do zero.
Então, a cada volta, a época entra em ação e os bits altos de txid_current() são modificados para evitar que os txids sejam redefinidos e, em vez disso, os txids continuam aumentando até que o limite de 64 bits seja atingido (às vezes em um futuro muito distante, muito depois de todos morrermos).