溫馨提示×

溫馨提示×

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

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

postgresql中oid重置的方法

發布時間:2020-07-31 11:13:24 來源:億速云 閱讀:407 作者:清晨 欄目:編程語言

這篇文章主要介紹postgresql中oid重置的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在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

以上是postgresql中oid重置的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女