[英]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.