postgresql里cmin与cmax有何不同.md

本文探讨了PostgreSQL数据库中cmin和cmax字段的差异。通过实验和官方社区的回答,得出结论cmin与cmax实际上是相同的,表示同一事务内SQL执行的顺序。这一发现挑战了原有的文档描述,暗示文档可能已过时。
摘要由CSDN通过智能技术生成
  • 在这之前,做个与cmin和cmax相关的实验:

之前已经说过, cmin与cmax代表同一个事务里,该行记录所对应的sql执行的顺序,下面验证下

// 当前 user_info 表的信息,当前有5条记录。 cmin 与 cmax都是0
//原先已经存在的记录:
postgres=#  select ctid,cmin,cmax,xmin,xmax,* from user_info ;
 ctid  | cmin | cmax | xmin  | xmax | id | info 
-------+------+------+-------+------+----+------
 (0,1) |    0 |    0 | 36039 |    0 |  1 | test
 (0,2) |    0 |    0 | 36039 |    0 |  1 | test
 (0,3) |    0 |    0 | 36039 |    0 |  1 | test
 (0,4) |    0 |    0 | 36039 |    0 |  1 | test
 (0,5) |    0 |    0 | 36039 |    0 |  1 | test
(5 rows)

// 同一个事务里,用4条sql插入4条语句:
postgres=# begin;
BEGIN
postgres=# insert into user_info(id,info) values(1,'test');
INSERT 0 1
postgres=# insert into user_info(id,info) values(1,'test');
INSERT 0 1
postgres=# insert into user_info(id,info) values(1,'test');
INSERT 0 1
postgres=# insert into user_info(id,info) values(1,'test'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值