Acontece que a solução é muito mais simples do que se pensava inicialmente, graças ao do Postgres Funções de informações do sistema .
txid_current()
pode ser usado em um gatilho para atribuir arowversion
de um registro .txid_snapshot_min(txid_current_snapshot())
pode ser usado para obter a transação ativa mínima da mesma forma que um usuário do SQL Server pode usarmin_active_rowversion()
.
A melhor parte é que eles são de 64 bits, permanentes, não sujeitos a aspiração:
Postgres é realmente incrível.