持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天
由于PostgreSQL的多版本机制,使得经常被使用的表需要进行vacuum来回收哪些dead tuples,尽管pg有autovacuum进程去在后台vaccum相关的表,但是我们仍需要去监控哪些表长时间未被autovaccum过。
SELECT
schemaname
,relname
,n_live_tup
,n_dead_tup
,last_autovacuum
FROM pg_stat_all_tables
ORDER BY n_dead_tup
/(n_live_tup
* current_setting('autovacuum_vacuum_scale_factor')::float8
+ current_setting('autovacuum_vacuum_threshold')::float8)
DESC;