--- title: "Monitoring Database Activity" id: monitoring pg_version: "20devel" --- # Monitoring Database Activity ## Table of Contents - [27.1. Standard Unix Tools](monitoring-ps.md) - [27.2. The Cumulative Statistics System](monitoring-stats.md) - [27.2.1. Statistics Collection Configuration](monitoring-stats.md#monitoring-stats-setup) - [27.2.2. Viewing Statistics](monitoring-stats.md#monitoring-stats-views) - [27.2.3. pg_stat_activity](monitoring-stats.md#monitoring-pg-stat-activity-view) - [27.2.4. pg_stat_replication](monitoring-stats.md#monitoring-pg-stat-replication-view) - [27.2.5. pg_stat_replication_slots](monitoring-stats.md#monitoring-pg-stat-replication-slots-view) - [27.2.6. pg_stat_wal_receiver](monitoring-stats.md#monitoring-pg-stat-wal-receiver-view) - [27.2.7. pg_stat_recovery](monitoring-stats.md#monitoring-pg-stat-recovery-view) - [27.2.8. pg_stat_recovery_prefetch](monitoring-stats.md#monitoring-pg-stat-recovery-prefetch) - [27.2.9. pg_stat_subscription](monitoring-stats.md#monitoring-pg-stat-subscription) - [27.2.10. pg_stat_subscription_stats](monitoring-stats.md#monitoring-pg-stat-subscription-stats) - [27.2.11. pg_stat_ssl](monitoring-stats.md#monitoring-pg-stat-ssl-view) - [27.2.12. pg_stat_gssapi](monitoring-stats.md#monitoring-pg-stat-gssapi-view) - [27.2.13. pg_stat_archiver](monitoring-stats.md#monitoring-pg-stat-archiver-view) - [27.2.14. pg_stat_io](monitoring-stats.md#monitoring-pg-stat-io-view) - [27.2.15. pg_stat_kind_info](monitoring-stats.md#monitoring-pg-stat-kind-info-view) - [27.2.16. pg_stat_lock](monitoring-stats.md#monitoring-pg-stat-lock-view) - [27.2.17. pg_stat_bgwriter](monitoring-stats.md#monitoring-pg-stat-bgwriter-view) - [27.2.18. pg_stat_checkpointer](monitoring-stats.md#monitoring-pg-stat-checkpointer-view) - [27.2.19. pg_stat_wal](monitoring-stats.md#monitoring-pg-stat-wal-view) - [27.2.20. pg_stat_database](monitoring-stats.md#monitoring-pg-stat-database-view) - [27.2.21. pg_stat_database_conflicts](monitoring-stats.md#monitoring-pg-stat-database-conflicts-view) - [27.2.22. pg_stat_all_tables](monitoring-stats.md#monitoring-pg-stat-all-tables-view) - [27.2.23. pg_stat_autovacuum_scores](monitoring-stats.md#monitoring-pg-stat-autovacuum-scores-view) - [27.2.24. pg_stat_all_indexes](monitoring-stats.md#monitoring-pg-stat-all-indexes-view) - [27.2.25. pg_statio_all_tables](monitoring-stats.md#monitoring-pg-statio-all-tables-view) - [27.2.26. pg_statio_all_indexes](monitoring-stats.md#monitoring-pg-statio-all-indexes-view) - [27.2.27. pg_statio_all_sequences](monitoring-stats.md#monitoring-pg-statio-all-sequences-view) - [27.2.28. pg_stat_user_functions](monitoring-stats.md#monitoring-pg-stat-user-functions-view) - [27.2.29. pg_stat_slru](monitoring-stats.md#monitoring-pg-stat-slru-view) - [27.2.30. Statistics Functions](monitoring-stats.md#monitoring-stats-functions) - [27.3. Viewing Locks](monitoring-locks.md) - [27.4. Progress Reporting](progress-reporting.md) - [27.4.1. ANALYZE Progress Reporting](progress-reporting.md#analyze-progress-reporting) - [27.4.2. CLUSTER Progress Reporting](progress-reporting.md#cluster-progress-reporting) - [27.4.3. COPY Progress Reporting](progress-reporting.md#copy-progress-reporting) - [27.4.4. CREATE INDEX Progress Reporting](progress-reporting.md#create-index-progress-reporting) - [27.4.5. REPACK Progress Reporting](progress-reporting.md#repack-progress-reporting) - [27.4.6. VACUUM Progress Reporting](progress-reporting.md#vacuum-progress-reporting) - [27.4.7. Base Backup Progress Reporting](progress-reporting.md#basebackup-progress-reporting) - [27.4.8. Data Checksum Progress Reporting](progress-reporting.md#data-checksum-progress-reporting) - [27.5. Dynamic Tracing](dynamic-trace.md) - [27.5.1. Compiling for Dynamic Tracing](dynamic-trace.md#compiling-for-trace) - [27.5.2. Built-in Probes](dynamic-trace.md#trace-points) - [27.5.3. Using Probes](dynamic-trace.md#using-trace-points) - [27.5.4. Defining New Probes](dynamic-trace.md#defining-trace-points) - [27.6. Monitoring Disk Usage](diskusage.md) - [27.6.1. Determining Disk Usage](diskusage.md#disk-usage) - [27.6.2. Disk Full Failure](diskusage.md#disk-full) 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 PostgreSQL's cumulative statistics system, 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 PostgreSQL's [`EXPLAIN`](sql-explain.md) command. [Section 14.1](using-explain.md) discusses `EXPLAIN` and other methods for understanding the behavior of an individual query.