簡體   English   中英

Postgresql復制和復制插槽阻止VACUUM

[英]Postgresql replication and replication slot blocking VACUUM

我對PostgresSQL中的復制有疑問。 我在一張桌子上執行VACUUM ,我得到以下信息:

詳細信息:3263410死行版本無法刪除,最舊的xmin:574

在此網站上,要點2解釋了我獲取該信息的原因,但我不知道如何解決。

https://www.cybertec-postgresql.com/en/reasons-why-vacuum-wont-remove-dead-rows/

選擇返回:

slot_name       slot_type     temporary  active   xmin   restart_lsn
it_rdbms02      physical         f         f        574     0/302B380   

我讀過您可以使用函數pg_drop_replication_slot('name_slot')刪除該插槽,但這會禁用我的復制嗎?

答:是的,將刪除復制。

我很高興我的文章被證明很有幫助。

如果您的復制工作正常,則表明它沒有使用復制插槽。 檢查備用服務器上的recovery.conf以進行驗證。

復制插槽標記了某個WAL位置,因此主服務器在該位置之后將不會丟棄任何WAL。 原因是某個人(例如復制備用數據庫)仍然需要該信息。

在正常操作期間,使用復制插槽WAL消費者將定期推進它。 但是,如果沒有人再使用它,它將阻止WAL回收和VACUUM ,這是一個主要問題。

如果您的復制未明確使用recovery.conf的復制插槽,則可以安全地刪除它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM