> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Top Tables by Dead Tuples, PostgreSQL

> Top Tables by Dead Tuples for PostgreSQL databases. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Card class:** [Non-Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Autovacuum & Bloat](/nerve-centre/connectors#connectors-by-type)

## At a glance

> **Top Tables by Dead Tuples** ranks your tables by the number of dead row versions (`n_dead_tup`) currently waiting to be reclaimed. Every `UPDATE` and `DELETE` in PostgreSQL leaves behind a dead tuple that autovacuum must clean up; a hot table accumulating dead tuples faster than autovacuum clears them is the textbook signal that autovacuum needs tuning for that table. Left unchecked, dead tuples become table bloat, which slows scans and wastes disk.

## What it tracks

The card reads `n_dead_tup` from `pg_stat_user_tables` and lists the tables holding the most dead tuples, refreshed in real time (`RT`). A dead tuple is a row version made obsolete by an `UPDATE` or `DELETE` but not yet reclaimed by `VACUUM`; PostgreSQL's MVCC model keeps these around until no transaction can still see them, after which autovacuum frees the space for reuse. A table near the top of this list with a high and rising dead-tuple count is one where write churn is outpacing autovacuum, which means per-table autovacuum tuning is needed: a lower `autovacuum_vacuum_scale_factor`, a higher `autovacuum_vacuum_cost_limit`, or both, so the table is vacuumed more aggressively. The downstream effects are bloat (the table occupies more disk than its live rows justify), slower sequential and index scans, and pressure on the figures behind [Oldest Autovacuum Age (hours)](/nerve-centre/kpi-cards/postgresql/oldest-autovacuum-age-hours) and [Database Disk Usage %](/nerve-centre/kpi-cards/postgresql/database-disk-usage). This is an Autovacuum & Bloat card with no alert threshold of its own; it is a diagnostic ranking you reach for when the autovacuum-age or health-score cards flag a problem. Pair it with [PostgreSQL Health Score](/nerve-centre/kpi-cards/postgresql/postgresql-health-score), whose autovacuum factor this data feeds.

## Reconciling against the source

Reconcile against PostgreSQL's own tooling with `SELECT relname, n_dead_tup, n_live_tup, last_autovacuum FROM pg_stat_user_tables ORDER BY n_dead_tup DESC;`. On managed services, the same query runs over a normal connection; RDS / Aurora Performance Insights and Cloud SQL system insights also surface per-table dead-tuple and vacuum activity.

***

### Tracked live in Vortex IQ Nerve Centre

*Top Tables by Dead Tuples* is one of hundreds of KPI pulses Vortex IQ tracks across PostgreSQL and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
