Postgresql
回收未使用的索引磁碟空間
是否有任何提示、統計資訊或類似資訊可用於徹底檢查哪些索引可以從 PostgreSQL 9.4.9 數據庫中安全刪除?我們的數據庫不斷增長,我們認為可能會失去一些未使用的索引。過去,我們試圖縮減數據庫的整體大小(現在大約 2TB,主要是歷史數據),但客戶一直需要訪問舊數據,因此我們不得不停止讓舊的“假定未使用”數據過期,因為它可以恢復活力,是一個巨大的痛苦。
任何關於節省空間的額外評論將不勝感激。
也許你可以從:
SELECT * FROM pg_stat_all_indexes WHERE schemaname NOT IN ( 'pg_catalog', 'pg_toast' ) AND idx_scan = 0 AND idx_tup_read = 0 AND idx_tup_fetch = 0 AND indexrelid NOT IN ( SELECT indexrelid FROM pg_index WHERE indisunique = true OR indisprimary = true ) ;
不能保證彈出的索引從未使用過,但它應該提供一個列表來開始查看。