国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL中的OID和XID 說明

2020-03-12 23:55:17
字體:
來源:轉載
供稿:網友
在PostgreSQL中經常碰到OID和XID,剛才不明白這些東西是干什么的。
 
 
oid: 行的對象標識符(對象 ID)。這個字段只有在創建表的時候使用了 WITH OIDS ,或者是設置了default_with_oids 配置參數時出現。 這個字段的類型是 oid (和字段同名)。 
例子: 
復制代碼代碼如下:

CREATE TABLE pg_language 

lanname name NOT NULL, 
lanowner oid NOT NULL, 
lanispl boolean NOT NULL, 
lanpltrusted boolean NOT NULL, 
lanplcallfoid oid NOT NULL, 
lanvalidator oid NOT NULL, 
lanacl aclitem[] 

WITH ( 
OIDS=TRUE 
); 

OID 是 32 位的量,是在同一個集群內通用的計數器上賦值的。 對于一個大型或者長時間使用的數據庫,這個計數器是有可能重疊的。 因此,假設 OID 是唯一的是非常錯誤的,除非你自己采取了措施來保證它們是唯一的。 
XID:事務ID,也是 32 位的量。在長時間運轉的數據庫里,它也可能會重疊。重疊后數據庫就有可能出錯,所以需要采取措施解決。 只要我們采取一些合適的維護步驟,這并不是很要命的問題。比如我們定義做vaccum。或者手動重置。 
重置用下面的命令: 
$ pg_resetxlog --help 
pg_resetxlog命令是重置PostgreSQL事務log的。 
使用方法: 
pg_resetxlog [OPTION]... DATADIR 
選項參數: 
-e XIDEPOCH 設置下一個事務ID EPOCH 
-f 實施強制更新 
-l TLI,FILE,SEG 強制設置新事務log的最小WAL開始位置 
-m XID 設置下一個MULTI事務ID 
-n 不做更新,只是取出現在的控制值,實驗用的命令 
-o OID 設置下一個OID,重置OID 
-O OFFSET 設置下一個MULTI事務ID的OFFSET 
-x XID 設置下一個事務ID,重置XID 
寫了這么一些,對內部是怎么回事感覺自己還是沒有理清楚。呵呵!!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那曲县| 澎湖县| 新郑市| 罗山县| 饶阳县| 抚宁县| 江津市| 宁城县| 衡阳县| 德令哈市| 莱阳市| 丹棱县| 乌什县| 桓仁| 西城区| 太仆寺旗| 福贡县| 南宁市| 汶上县| 长阳| 锡林浩特市| 阳谷县| 和平县| 晋宁县| 栾城县| 于田县| 玉屏| 申扎县| 贵港市| 鲁山县| 芜湖县| 宝山区| 资阳市| 淅川县| 伊金霍洛旗| 梨树县| 东港市| 茶陵县| 丽江市| 彰化市| 安新县|