如何在postgres中计算age(datfrozenxid)?
postgres文档说:“年龄列衡量从截止XID到当前交易XID的交易数量。”
答案 0 :(得分:1)
XID只是序列号,因此计算XID的“年龄”是简单的减法,即:
age(datfrozenxid) = txid_current() - datfrozenxid
在initdb
期间创建的数据以及在Postgres 9.4之前冻结的数据的XID将始终报告2147483647的年龄。
可以here找到age()
函数的完整源代码(其中的所有五行)。