如何找出当前Postgres交易的数字ID?

时间:2013-12-15 15:40:52

标签: postgresql

在psql上我可以输入以下内容:

BEGIN;

我输入什么来获取新创建的交易的当前ID?

我正在尝试整理一个演示,解释真空和MVVC如何在postgres中工作。例如,select xmin, xmax, * from test;显示从当前事务的角度来看每行的xmin和xmax。

我理解它的基本理论,但是想要组合一个交互式练习,这样我可以打开两个psql控制台,然后有一套显示mvcc和真空工作的分步说明。

如何获取当前的postgres交易ID?

2 个答案:

答案 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()