支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4

52.19. pg_replication_slots #

pg_replication_slots 視窗提供了資料庫叢集中目前存在的所有複製槽的清單,以及它們的目前狀態。

有關複製槽的更多資訊,請參閱第 26.2.6 節第 47 章

表 52.19. pg_replication_slots 欄位

欄位 類型

描述

slot_name name

複製槽的叢集範圍唯一識別符

plugin name

包含此邏輯槽所使用的輸出插件的共享物件的基本名稱,實體槽則為 null。

slot_type text

槽類型:physicallogical

datoid oid(參考pg_database.oid

此槽與之關聯的資料庫的 OID,或 null。只有邏輯槽具有關聯的資料庫。

database name(參考pg_database.datname

此槽與之關聯的資料庫的名稱,或 null。只有邏輯槽具有關聯的資料庫。

temporary bool

如果這是暫時複製槽,則為 True。暫時槽不會儲存到磁碟,並且會在發生錯誤或會話結束時自動刪除。

active bool

如果目前正在積極使用此槽,則為 True

active_pid int4

如果目前正在積極使用此槽,則使用此槽的會話的程序 ID。如果未啟用,則為 NULL

xmin xid

此槽需要資料庫保留的最舊交易。VACUUM 無法移除任何後續交易刪除的元組。

catalog_xmin xid

此槽需要資料庫保留的影響系統目錄的最舊交易。VACUUM 無法移除任何後續交易刪除的目錄元組。

restart_lsn pg_lsn

此槽的取用者可能仍然需要的,因此不會在檢查點期間自動移除的最舊 WAL 的位址 (LSN),除非此 LSN 落後於目前 LSN 超過 max_slot_wal_keep_sizeNULL 如果從未保留此槽的 LSN

confirmed_flush_lsn pg_lsn

邏輯槽的取用者已確認收到資料的位址 (LSN)。在此 LSN 之前提交的交易對應的資料不再可用。實體槽則為 NULL

wal_status text

此槽宣告的 WAL 檔案的可用性。可能的值為

  • reserved 表示宣告的檔案位於 max_wal_size 內。

  • extended 表示超出 max_wal_size,但這些檔案仍由複製槽或 wal_keep_size 保留。

  • unreserved 表示槽不再保留所需的 WAL 檔案,並且某些檔案將在下一個檢查點移除。此狀態可以返回到 reservedextended

  • lost 表示某些所需的 WAL 檔案已移除,並且此槽不再可用。

只有在 max_slot_wal_keep_size 為非負數時,才會看到最後兩個狀態。如果 restart_lsn 為 NULL,則此欄位為 null。

safe_wal_size int8

可以寫入 WAL 的位元組數,如此此槽不會處於 "lost" 狀態的危險中。對於遺失的槽,以及如果 max_slot_wal_keep_size-1,則為 NULL。

two_phase bool

如果已為槽啟用解碼準備好的交易,則為 True。對於實體槽始終為 false。

inactive_since timestamptz

槽變為非活動狀態以來的時間。NULL 如果目前正在使用該槽。請注意,對於從主要伺服器同步的備用槽(其 synced 欄位為 true),inactive_since 表示上次同步(請參閱第 47.2.3 節)時間。

conflicting bool

如果此邏輯槽與恢復衝突(因此現在已失效),則為 True。當此欄位為 true 時,請檢查 invalidation_reason 欄位以取得衝突原因。對於實體槽始終為 NULL。

invalidation_reason text

槽失效的原因。它為邏輯槽和實體槽設定。NULL 如果該槽未失效。可能的值為

  • wal_removed 表示所需的 WAL 已移除。

  • rows_removed 表示所需的列已移除。它僅為邏輯槽設定。

  • wal_level_insufficient 表示主要伺服器沒有足夠的 wal_level 來執行邏輯解碼。它僅為邏輯槽設定。

failover bool

如果這是個邏輯槽,且已啟用同步到待機伺服器,以便在故障轉移後可以從新的主伺服器恢復邏輯複製,則為 True。對於實體槽,則始終為 False。

synced bool

如果這是從主伺服器同步的邏輯槽,則為 True。在熱備援伺服器上,synced 欄位標記為 true 的槽既不能用於邏輯解碼,也不能手動刪除。此欄位的值在主伺服器上沒有意義;主伺服器上所有槽的欄位值預設為 false,但如果從升級的待機伺服器遺留下來,則也可能為 true。


提交更正

如果您在文件中發現任何不正確、與您特定功能的使用經驗不符或需要進一步說明的地方,請使用此表格來回報文件問題。