Postgresql

idx_scan 統計資訊是否會自動重置(預設)?

  • February 5, 2021

我正在查看表(pg_stat_user_indexespg_stat_user_tables)並發現許多未使用的索引。

但是在我考慮做任何操作來刪除這些索引之前,我需要了解這個數據的分析是什麼時期(idx_scan),是從創建數據庫開始的嗎?

pg_stat_database ( stats_reset ) 表中是否有一個通常是今天或最多 15 天前的日期,但是這個過程會干擾我上面提到的表嗎?

  • 沒有執行%reset()的命令。

% reset () 命令是否清除表(pg_stat_user_indexespg_stat_user_tables)?

我的目標是了解收集數據的時間段,以便我做出決定。

從手冊中引用

在伺服器啟動時執行恢復時(例如,在立即關閉、伺服器崩潰和時間點恢復之後),所有統計計數器都會重置

換句話說,統計資訊不會在乾淨關閉和重新啟動時重置。

因此,如果您的伺服器從未崩潰,並且您從未發出“立即關閉”(使用 `pg_ctl stop -m immediate),那麼統計資訊顯示自創建實例以來的累積值(用於“全域”統計資訊)或數據庫創建(用於特定於數據庫的統計資訊)。

如果您想檢測是否有未使用的索引,我會重置統計資訊,然後定期(例如,每天或每小時,取決於您的系統)拍攝它們的快照,然後在正常一周後比較隨時間變化的值手術。

請注意,您不能(不應該)刪除從未用於讀取的唯一索引(例如主鍵索引)!

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