Chapter 25. Monitoring Database Activity

Table of Contents

25.1. Standard Unix Tools
25.2. The Statistics Collector
25.2.1. Statistics Collection Configuration
25.2.2. Viewing Statistics
25.2.3. pg_stat_activity
25.2.4. pg_stat_replication
25.2.5. pg_stat_wal_receiver
25.2.6. pg_stat_subscription
25.2.7. pg_stat_ssl
25.2.8. pg_stat_gssapi
25.2.9. pg_stat_archiver
25.2.10. pg_stat_bgwriter
25.2.11. pg_stat_database
25.2.12. pg_stat_database_conflicts
25.2.13. pg_stat_all_tables
25.2.14. pg_stat_all_indexes
25.2.15. pg_statio_all_tables
25.2.16. pg_statio_all_indexes
25.2.17. pg_statio_all_sequences
25.2.18. pg_stat_user_functions
25.2.19. pg_stat_slru
25.2.20. Statistics Functions
25.3. Viewing Locks
25.4. Progress Reporting
25.4.1. ANALYZE Progress Reporting
25.4.2. CREATE INDEX Progress Reporting
25.4.3. VACUUM Progress Reporting
25.4.4. CLUSTER Progress Reporting
25.4.5. Base Backup Progress Reporting
25.5. Dynamic Tracing
25.5.1. Compiling for Dynamic Tracing
25.5.2. Built-in Probes
25.5.3. Using Probes
25.5.4. Defining New Probes

A database administrator frequently wonders, What is the system doing right now? This chapter discusses how to find that out.

Several tools are available for monitoring database activity and analyzing performance. Most of this chapter is devoted to describing LightDB's statistics collector, but one should not neglect regular Unix monitoring programs such as ps, top, iostat, and vmstat. Also, once one has identified a poorly-performing query, further investigation might be needed using LightDB's EXPLAIN command. Section 14.1 discusses EXPLAIN and other methods for understanding the behavior of an individual query.