DBAtlas · Atlas de operações de banco de dados

Estimar o bloat de tabelas

PostgreSQLArmazenamento

Comando

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;

O que faz

Mostra a taxa de bloat com base na contagem de dead tuples e no horário do último autovacuum.

Quando usar

Para determinar a necessidade de VACUUM e se o autovacuum está dando conta.

Atenção

n_dead_tup é uma estimativa atualizada continuamente a partir dos contadores de DML (cai após o VACUUM; o ANALYZE só corrige a estimativa); para o bloat físico exato a extensão pgstattuple (pgstattuple('customer')) é mais precisa.

Abrir no DBAtlas →

Relacionados