🎯 Weekend Special: PostgreSQL Performance Checklist
Perfect for your weekend maintenance window! Here's a 10-point health check for your PostgreSQL database:
1. Check for unused indexes eating space:
2. Find your slowest queries:
3. Identify table bloat:
4. ✅ Quick wins (< 5 minutes each):
Run ANALYZE on your main tables
Check log_min_duration_statement is set (recommend 100ms)
Verify shared_buffers is 25% of available RAM
Ensure autovacuum is ON
5. 🔍 Look for missing indexes:
💪 Weekend Challenge:
Run this checklist on your database. Found something interesting? Share your findings!
🎁 Bonus tip:
Schedule this checklist as a monthly cron job and send results to your email!
Which check revealed the most issues in your database? Let us know! 👇
#PostgreSQL #Performance #Maintenance #WeekendWork
@postgres
Perfect for your weekend maintenance window! Here's a 10-point health check for your PostgreSQL database:
1. Check for unused indexes eating space:
SELECT schemaname, tablename, indexname, idx_scan
FROM pg_stat_user_indexes
WHERE idx_scan = 0
ORDER BY pg_relation_size(indexrelid) DESC;
2. Find your slowest queries:
SELECT mean_exec_time, calls, query
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 5;
3. Identify table bloat:
SELECT tablename,
pg_size_pretty(pg_total_relation_size(tablename::regclass)) as size,
ROUND(((pg_total_relation_size(tablename::regclass) -
pg_relation_size(tablename::regclass))::numeric /
pg_total_relation_size(tablename::regclass))::numeric * 100) as bloat_ratio
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY pg_total_relation_size(tablename::regclass) DESC;
4. ✅ Quick wins (< 5 minutes each):
Run ANALYZE on your main tables
Check log_min_duration_statement is set (recommend 100ms)
Verify shared_buffers is 25% of available RAM
Ensure autovacuum is ON
5. 🔍 Look for missing indexes:
SELECT schemaname, tablename, attname, n_distinct, correlation
FROM pg_stats
WHERE n_distinct > 100
AND correlation < 0.1
AND schemaname = 'public'
ORDER BY n_distinct DESC;
💪 Weekend Challenge:
Run this checklist on your database. Found something interesting? Share your findings!
🎁 Bonus tip:
Schedule this checklist as a monthly cron job and send results to your email!
Which check revealed the most issues in your database? Let us know! 👇
#PostgreSQL #Performance #Maintenance #WeekendWork
@postgres
🔥1