在psql上我可以输入以下内容:
BEGIN;
我输入什么来获取新创建的交易的当前ID?
我正在尝试整理一个演示,解释真空和MVVC如何在postgres中工作。例如,select xmin, xmax, * from test;
显示从当前事务的角度来看每行的xmin和xmax。
我理解它的基本理论,但是想要组合一个交互式练习,这样我可以打开两个psql控制台,然后有一套显示mvcc和真空工作的分步说明。
如何获取当前的postgres交易ID?
答案 0 :(得分:8)
您可以从以下网址获取交易ID:
txid_current()
您还可以在以下快照中获取正在进行的交易:
txid_snapshot_xip(txid_current_snapshot())
手册中详细介绍了一些功能:
http://www.postgresql.org/docs/current/static/functions-info.html#FUNCTIONS-TXID-SNAPSHOT
答案 1 :(得分:0)
Postgres已在version 10中添加了txid_current_if_assigned()
。