溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于PostgreSQL 版本識別的詳細(xì)介紹

發(fā)布時(shí)間:2020-04-24 15:05:08 來源:億速云 閱讀:334 作者:小新 欄目:MySQL數(shù)據(jù)庫

今天小編給大家分享的是關(guān)于PostgreSQL 版本識別的詳細(xì)介紹,相信很多人都不太了解,為了讓大家更加了解PostgreSQL 版本識別,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會有所收獲的哦。

Insert\delete\update通過ctid定位,并查看該記錄xmin\xmax的變化。

Xid:數(shù)據(jù)庫的事務(wù)ID;

Xmin:行頭部的xid信息,xmin表示插入該記錄的事務(wù)ID

Xmax:表示刪除或lock該記錄的事務(wù)ID

xid_snapshot:當(dāng)前集群中為結(jié)束的事務(wù)

Clog:事務(wù)提交狀態(tài)日志

記錄格式的定義:htup_details.hPOSTGRES heap tuple header definitions.

1)查看所有xid相關(guān)的函數(shù)有哪些,這里需要的是txid_current函數(shù)

關(guān)于PostgreSQL 版本識別的詳細(xì)介紹

2)可以看到當(dāng)前的事務(wù)ID

postgres=# select * from txid_current();
 txid_current
--------------
         1676
(1 row)
 
3)進(jìn)行一次insert后,看事務(wù)ID已經(jīng)+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)開啟一個(gè)事務(wù)后,進(jìn)行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)在另外一個(gè)會話查看

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)


看當(dāng)前未結(jié)束的事務(wù),或未開啟的事務(wù)

關(guān)于PostgreSQL 版本識別的詳細(xì)介紹

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

記錄事務(wù)是否提交,在這個(gè)文件里面,bit

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

以上就是關(guān)于PostgreSQL 版本識別的詳細(xì)介紹了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來億速云行業(yè)資訊!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI