pg_current_xact_id_if_assigned()
是一个系统函数,如果已分配,则返回当前事务 ID。
pg_current_xact_id_if_assigned()
在 PostgreSQL 13 中添加。
用法
pg_current_xact_id_if_assigned () → xid8
pg_current_xact_id_if_assigned()
将当前事务 ID 作为 xid8
返回。请注意,在当前事务中执行非读取查询之前,不会分配新的事务 ID。
pg_current_xact_id_if_assigned()
替换了 txid_current_if_assigned()
。
变更历史
- PostgreSQL 13
- 添加 (提交 4c04be9b)
示例
pg_current_xact_id_if_assigned()
的基本用法示例 - 事务在对数据库进行更改之前不会拥有事务 ID
postgres=# BEGIN; BEGIN postgres=*# SELECT pg_current_xact_id_if_assigned(); pg_current_xact_id_if_assigned -------------------------------- (1 row) postgres=*# SELECT 1; ?column? ---------- 1 (1 row) postgres=*# SELECT pg_current_xact_id_if_assigned(); pg_current_xact_id_if_assigned -------------------------------- (1 row) postgres=*# INSERT INTO foo VALUES (1); INSERT 0 1 postgres=*# SELECT pg_current_xact_id_if_assigned(); pg_current_xact_id_if_assigned -------------------------------- 764 (1 row)
参考文献
- PostgreSQL 文档: 事务 ID 和快照信息函数