Tables & Indexes
Monitor table health, index usage, and identify unused indexes.
The Tables and Indexes pages help you understand storage patterns, maintenance state, and index effectiveness.
Tables
The tables list shows every table in your database ranked by size, with key health indicators.
Table Metrics
| Metric | Description | What to watch for |
|---|---|---|
| Table size | On-disk size of the table data | Unexpected growth |
| Index size | Total size of all indexes on the table | Larger than table size may indicate over-indexing |
| Live tuples | Number of live rows | — |
| Dead tuples | Rows deleted or updated but not yet vacuumed | High count means autovacuum is behind |
| Seq scans | Full sequential scans of the table | High on large tables means missing indexes |
| Index scans | Scans served by indexes | Should dominate over seq scans on OLTP tables |
| Inserts / Updates / Deletes | Row modification counts | Useful for understanding write patterns |
| Last vacuum | When the table was last manually vacuumed | — |
| Last autovacuum | When autovacuum last processed the table | Should be recent for write-heavy tables |
| Last analyze | When statistics were last gathered | Stale stats lead to poor query plans |
Sorting
Sort tables by size, dead_tuples, seq_scans, live_tuples, or index_size to surface different problems.
Table Detail
Click a table to see its timeseries — how metrics change over time. Use this to correlate table health changes with deployments or workload shifts.
Indexes
The indexes list shows every index with usage statistics.
Index Metrics
| Metric | Description |
|---|---|
| Index scans | Times this index was used for a query |
| Tuples read | Rows read from the index |
| Tuples fetched | Rows fetched from the heap after index lookup |
| Size | On-disk size of the index |
| Definition | The CREATE INDEX statement |
| Unique / Primary | Whether it enforces a constraint |
Unused Indexes
The Unused Indexes view filters to indexes with zero scans that are not primary keys, not unique constraints, and larger than 1 MB. These are candidates for removal.
Dropping unused indexes saves disk space and speeds up writes (every INSERT/UPDATE/DELETE must maintain every index). Before dropping, verify the index isn't used by an infrequent but critical query — check over a 30-day window.
Index Detail
Click an index to see its scan count and size over time.