DBAtlas · 数据库运维图谱

估算表膨胀

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 中打开 →

相关内容