Dashboards
Dashboards are the deep-dive layer of postgres_ai monitoring. Use them when Checkup tells you what is wrong and you need to understand why or how bad it is right now.
When to use dashboards
- Checkup reports high query time — inspect query patterns and waits
- Checkup reports table bloat — verify growth, vacuum history, dead tuples
- The app is slow right now — find active sessions, waits, and blockers
- You need real-time visibility during an incident
- Weekly health review to catch trends before they become problems
Dashboard list
| # | Dashboard | Use for |
|---|---|---|
| 01 | Node overview | First stop: sessions, throughput, waits, resource usage |
| 02 | Query performance (top-N) | Identify the heaviest queries by time, calls, or I/O |
| 03 | Single query analysis | Deep dive into one query's performance over time |
| 04 | Wait event analysis (ASH) | Breakdown of what sessions are waiting on |
| 05 | Backups and DR | Backup health, WAL generation, recovery readiness |
| 06 | Replication and HA | Replication lag, slot health, HA posture |
| 07 | Autovacuum and bloat | Vacuum activity, dead tuples, bloat trends |
| 08 | Aggregated table analysis | Compare all tables by size, growth, and maintenance |
| 09 | Single table analysis | Deep dive into one table's stats and vacuum history |
| 10 | Aggregated index analysis | Find unused, redundant, or bloated indexes |
| 11 | Single index analysis | Verify usage and health of a specific index |
| 12 | SLRU cache stats | Transaction and commit log cache performance |
| 13 | Lock contention | Identify blocking queries and lock wait patterns |
Investigation workflows
"My app is slow right now" (10-15 minutes)
- Node overview — look at active sessions and wait distribution
- Wait events — identify the dominant wait type (IO, Lock, CPU)
- Lock contention — if locks dominate, find blocking queries
- Query performance — identify top resource consumers
- Single query — drill into the worst query's timeline
"Checkup found unused indexes" (5-10 minutes)
- Aggregated index analysis — sort by zero scans / low usage
- Single index analysis — confirm no scans, check size and table context
- Query performance — ensure no critical queries depend on the index
- Drop with confidence
"Checkup found table bloat" (5-10 minutes)
- Aggregated table analysis — find the bloated table and dead tuple ratio
- Single table analysis — review growth trend and vacuum history
- Autovacuum and bloat — check worker activity and lag
- Fix with
VACUUM, tuning, orpg_repack
"Weekly health review" (10-15 minutes)
- Node overview — any anomalies in the last week?
- Aggregated table analysis — unexpected growth or dead tuples?
- Autovacuum and bloat — keeping up across the biggest tables?
- Aggregated index analysis — new unused or bloated indexes?
Accessing dashboards
Local installation
npx postgresai mon local-install --demo
# Open http://localhost:3000
Managed installation (recommended)
Install from PostgresAI Console for a fully managed deployment. You get dashboards, daily health check reports with 23 checks, issue tracking, and AI-assisted resolution — without managing Docker infrastructure yourself.
Live demo
https://demo.postgres.ai (login: demo / password: demo)