此条目与 PostgreSQL 中一个已弃用的功能相关,该功能可能在将来的版本中被取消支持。
txid_current_if_assigned()
是一个返回当前事务 ID(如果已分配)的系统函数。
txid_current_if_assigned()
添加于 PostgreSQL 8.3。
用法
txid_current_if_assigned () → bigint
txid_current_if_assigned()
返回当前事务 ID,类型为 bigint
。请注意,在当前事务中执行非读取查询之前,不会分配新的事务 ID。
在 PostgreSQL 13 中引入 xid8
数据类型之后,此函数已弃用,并被 pg_current_xact_id_if_assigned()
取代。
变更历史
- PostgreSQL 13
- 标记为已弃用 (提交 4c04be9b)
- PostgreSQL 8.3
- 添加 (提交 1f92630f)
示例
txid_current_if_assigned()
的基本用法示例 - 事务在进行数据库更改之前不会拥有事务 ID
postgres=# BEGIN; BEGIN postgres=*# SELECT txid_current_if_assigned(); txid_current_if_assigned -------------------------- (1 row) postgres=*# SELECT 1; ?column? ---------- 1 (1 row) postgres=*# SELECT txid_current_if_assigned(); txid_current_if_assigned -------------------------- (1 row) Time: 0.986 ms postgres=*# INSERT INTO foo VALUES (1); INSERT 0 1 postgres=*# SELECT txid_current_if_assigned(); txid_current_if_assigned -------------------------- 742 (1 row)
参考文献
- PostgreSQL 文档: 已弃用的事务 ID 和快照信息函数