txid_current_if_assigned()

一个返回当前事务ID(如果已分配)的函数
此条目涉及一个已弃用的PostgreSQL功能,在未来的版本中可能会停止支持。

txid_current_if_assigned() 是一个系统函数,如果分配了事务ID,则返回当前事务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() 取代。

更改历史记录

示例

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)

分类

已弃用系统函数事务

另请参见

pg_current_xact_id_if_assigned()txid_current()

反馈

提交关于 "txid_current_if_assigned()" 的任何评论、建议或更正 此处