
# 事务ID和快照
以下的函数在输出形式中提供服务器事务信息。这些函数的主要用途是为了确定在两个快照之间有哪个事务提交。
#### pgxc_is_committed(transaction_id)
描述：如果提交或忽略给定的XID（gxid）。NULL表示的状态是未知的（运行，准备，冻结等）。
返回类型：bool
#### txid_current()
描述：获取当前事务ID。
返回类型：bigint
#### txid_current_snapshot()
描述：获取当前快照。
返回类型：txid_snapshot
#### txid_snapshot_xip(txid_snapshot)
描述：在快照中获取正在进行的事务ID。
返回类型：setof bigint
#### txid_snapshot_xmax(txid_snapshot)
描述：获取快照的xmax。
返回类型：bigint
#### txid_snapshot_xmin(txid_snapshot)
描述：获取快照的xmin。
返回类型：bigint
#### txid_visible_in_snapshot(bigint, txid_snapshot)
描述：在快照中事务ID是否可见（不使用子事务ID）。
返回类型：boolean
内部事务ID类型（xid）是32位，每40亿事务一次循环。这些函数使用的数据类型txid_snapshot，存储在特定时刻事务ID可见性的信息。其组件描述在[表1]。
txid_snapshot的文本表示为：xmin:xmax:xip_list。
例如，10:20:10,14,15表示：xmin=10, xmax=20, xip_list=10, 14, 15。
 表1快照组件 
| 名字       | 描述                                                                                                                                              |
|:---|:---|
| xmin     | 最早的事务ID（txid）仍然活动。所有较早事务将是已经提交可见的，或者是直接回滚。                                                                                                      |
| xmax     | 作为尚未分配的txid。所有大于或等于此txids的都是尚未开始的快照时间，因此不可见。                                                                                                    |
| xip_list | 当前快照中活动的txids。这个列表只包含在xmin和xmax之间活动的txids；有可能活动的txids高于xmax。 介于大于等于xmin、小于xmax，并且不在这个列表中的txid，在这个时间快照已经完成的，因此按照提交状态查看他是可见还是回滚。这个列表不包含子事务的txids。 |
   
