DBAtlas · データベース運用アトラス

表の肥大化(bloat)を推定

PostgreSQLストレージ

コマンド

SELECT schemaname, relname AS table_name, n_dead_tup AS dead_rows, n_live_tup AS live_rows, round(n_dead_tup::numeric / NULLIF(n_live_tup + n_dead_tup, 0) * 100, 1) AS dead_pct, last_autovacuum FROM pg_stat_user_tables WHERE n_dead_tup > 0 ORDER BY n_dead_tup DESC LIMIT 20;

概要

デッドタプル数と最後のautovacuum時刻に基づいて肥大化率を表示する。

使用する場面

VACUUMの必要性と、autovacuumが追いついているかの判断に。

注意

n_dead_tupはDMLカウンタから継続的に更新される推定値である(VACUUM後に減少し、ANALYZEは推定値を補正するのみ)。正確な物理的肥大化にはpgstattuple拡張(pgstattuple('customer'))の方が正確。

DBAtlas で開く →

関連項目