AdvancedPerformance & Indexes
Tune autovacuum for high-write tables
The query
SQL
-- Check autovacuum settings
SELECT
relname,
n_live_tup,
n_dead_tup,
autovacuum_vacuum_scale_factor,
autovacuum_vacuum_threshold
FROM pg_stat_user_tables
LEFT JOIN pg_class ON relname = tablename
WHERE schemaname = 'public';
-- Override autovacuum for high-write table
ALTER TABLE orders SET (
autovacuum_vacuum_scale_factor = 0.01, -- vacuum at 1% dead tuples (default 20%)
autovacuum_vacuum_threshold = 100, -- vacuum if > 100 dead tuples
autovacuum_analyze_scale_factor = 0.005 -- analyze more frequently
);
-- Manual vacuum
VACUUM (ANALYZE, VERBOSE) orders;Note
“Default autovacuum fires at 20% dead tuples. High-write tables need lower thresholds to prevent bloat.