Postgresql

postgres autovaccum 的分析是否會重建整個表?

  • February 2, 2022

我在 postgres 文件中找不到答案,儘管一些 DBA 在他們的部落格中聲稱手動分析會建構整個表的統計資訊,而 autovacuum 只會更新增量統計資訊,但有些 DBA 卻說相反。

我知道 autovacuum 是真空的預定版本,並根據我們知道的其他參數進行分析。現在我的問題是 autovacuum 的分析是重建整個表的統計資訊還是只更新現有的統計資訊(增量)?與同一主題相關的另一個問題是,“預設統計”值是否也適用於 autovacuum 分析?

謝謝,

薩吉斯·P·謝蒂

Autovacuum 的分析與手動分析(所有列)的作用相同。我在原始碼中看不到任何支持“autovacuum 增量工作,手動分析完全重建”的內容。“update_attstats”甚至不看是誰在呼叫它。

他們以同樣的方式處理“預設統計”。

和之間可能存在一些vacuum混淆。vacuum full``analyze

  • vacuum是將死行標記為空閒空間的操作。
  • analyze是收集數據統計資訊的操作。
  • vacuum full不是 的變體vacuum,儘管名稱暗示了它。這就是為什麼我喜歡稱它為unbloator rewrite。這是重寫整個表的操作。因此,此操作將真正回收可用空間並消除臃腫。

有關更多詳細資訊,請閱讀此處的文件:https ://www.postgresql.org/docs/current/routine-vacuuming.html

引用自:https://dba.stackexchange.com/questions/306809