Resulta que la solución es mucho más simple de lo que se pensó inicialmente, gracias al de Postgres Funciones de información del sistema .
txid_current()
se puede usar en un activador para asignar larowversion
de un registro .txid_snapshot_min(txid_current_snapshot())
se puede usar para obtener la transacción activa mínima de la misma manera que un usuario de SQL Server podría usarmin_active_rowversion()
.
La mejor parte es que estos son de 64 bits, permanentes, no sujetos a limpieza:
Postgres es realmente asombroso.