gpt4 book ai didi

postgresql - 为什么 txid 会增加?

转载 作者:行者123 更新时间:2023-11-29 12:11:28 25 4
gpt4 key购买 nike

我有以下脚本:

select txid_current();

显示的txid是=001

begin;
insert into tab values(10,20); insert into values(20,40);
commit;

现在当我这样做时: 选择 txid_current();

txid 是:004为什么会有 2 的增量,即为什么 txid 增加 2 不应该增量只是 1,即 txid 应该是 003 不应该选择 txid_current() show 003?

有没有办法将 003 显示为当前的 txid()?

最佳答案

Transaction

PostgreSQL actually treats every SQL statement as being executed within a transaction. If you do not issue a BEGIN command, then each individual statement has an implicit BEGIN and (if successful) COMMIT wrapped around it. A group of statements surrounded by BEGIN and COMMIT is sometimes called a transaction block.

这意味着当您运行 select txid_current(); 时,您处于一个事务中,在此运行之后您将获得新的事务 ID。

begin;
select txid_current(); // 1
end;

begin;
insert into tab values(10,20); insert into values(20,40);
select txid_current(); // 2
commit;

begin;
select txid_current(); // 3
end;

关于postgresql - 为什么 txid 会增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com