最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于PostgreSQL版本识别的详解

来源:动视网 责编:小采 时间:2020-11-09 08:42:35
文档

关于PostgreSQL版本识别的详解

关于PostgreSQL版本识别的详解:Insert\delete\update通过ctid定位,并查看该记录xmin\xmax的变化。 Xid:数据库的事务ID; Xmin:行头部的xid信息,xmin表示插入该记录的事务ID Xmax:表示删除或lock该记录的事务ID xid_snapshot:当前集群中为结束的事务 Clog:事务提交状
推荐度:
导读关于PostgreSQL版本识别的详解:Insert\delete\update通过ctid定位,并查看该记录xmin\xmax的变化。 Xid:数据库的事务ID; Xmin:行头部的xid信息,xmin表示插入该记录的事务ID Xmax:表示删除或lock该记录的事务ID xid_snapshot:当前集群中为结束的事务 Clog:事务提交状
 Insert\delete\update通过ctid定位,并查看该记录xmin\xmax的变化。

Xid:数据库的事务ID;

Xmin:行头部的xid信息,xmin表示插入该记录的事务ID

Xmax:表示删除或lock该记录的事务ID

xid_snapshot:当前集群中为结束的事务

Clog:事务提交状态日志

记录格式的定义:htup_details.h:POSTGRES heap tuple header definitions.

1)查看所有xid相关的函数有哪些,这里需要的是txid_current函数

2)可以看到当前的事务ID

postgres=# select * from txid_current();
 txid_current
--------------
 1676
(1 row)
 
3)进行一次insert后,看事务ID已经+1
postgres=# insert into tt values(1);
INSERT 0 1
postgres=# select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,1) | 1677 | 0 | 0 | 0 | 1
(1 row)

4)开启一个事务后,进行update

postgres=# begin;
BEGIN
 
postgres=# update tt set id=3;
UPDATE 1
postgres=# select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,2) | 1678 | 0 | 0 | 0 | 3
(1 row)

5)在另外一个会话查看

postgres=# select ctid,xmin,xmax,cmin,cmax,id from tt;
 ctid | xmin | xmax | cmin | cmax | id
-------+------+------+------+------+----
 (0,1) | 1677 | 1678 | 0 | 0 | 1
(1 row)

看当前未结束的事务,或未开启的事务

postgres=# select *from txid_current_snapshot();
 txid_current_snapshot
-----------------------
 1684:1684:
(1 row)
 
postgres=# select * from txid_current();
 txid_current
--------------
 1684
(1 row)

记录事务是否提交,在这个文件里面,bit:

-rw-------. 1 pg pg 8192 Jun 10 04:19 0000
[pg@localhost pg_clog]$ pwd
/home/pg/data/pg_clog

本文介绍了PostgreSQL 版本识别 ,更多相关内容请关注Gxl网。

文档

关于PostgreSQL版本识别的详解

关于PostgreSQL版本识别的详解:Insert\delete\update通过ctid定位,并查看该记录xmin\xmax的变化。 Xid:数据库的事务ID; Xmin:行头部的xid信息,xmin表示插入该记录的事务ID Xmax:表示删除或lock该记录的事务ID xid_snapshot:当前集群中为结束的事务 Clog:事务提交状
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top