Оказва се, че решението е много по-просто, отколкото се смяташе първоначално, благодарение на на Postgres Функции за системна информация .
txid_current()
може да се използва в тригер за присвояване наrowversion
на запис .txid_snapshot_min(txid_current_snapshot())
може да се използва за получаване на минималната активна транзакция по същия начин, по който потребител на SQL Server може да използваmin_active_rowversion()
.
Най-добрата част е, че те са 64-битови, постоянни, не подлежат на вакуумиране:
Postgres е наистина невероятен.