Skip to main content

Table and index bloat

The Vacuum & Bloat tab gives an operational view of dead tuple pressure, autovacuum effectiveness, and wraparound risk.

Top cards

  • Dead tuples total — sum across all tables, with severity based on operational risk.
  • Max dead tuple % — worst single table relative to its live row count.
  • Max index bloat % — estimated index bloat derived from related table pressure.

Merged detail table

The detail table combines table size, tuple, bloat, and vacuum-status signals:

  • Bloat context — size, live/dead tuples, estimated bloat, last vacuum, and fix SQL where appropriate.
  • Vacuum context — vacuum status, stale statistics indicators, and whether action is warranted.

Each row shows both bloat metrics and vacuum status in a single view. VACUUM and ANALYZE buttons appear on rows where action is warranted.

Precise bloat scan

When the pgstattuple extension is installed, a "Scan precise bloat" button appears. This runs pgstattuple_approx() on the top-10 estimated bloated tables for exact dead-tuple counts. Results are cached separately from the estimated view and shown alongside estimates for comparison.

HOT update efficiency

When HOT update efficiency is poor, table pages may be too full for in-page updates, causing extra index churn. pocketPG may suggest a fillfactor change and follow-up VACUUM when the evidence supports it.

TXID wraparound risk

Per-database XID and MXID ages with severity. For saved instances, pocketPG also shows an estimated time-to-wraparound with confidence bands derived from historical observation data.

SeverityMeaning
CRITICALImmediate VACUUM FREEZE attention is likely required.
WARNINGMonitor closely and ensure autovacuum is making progress.
NOTICEAutovacuum should process the database before the condition escalates.

PostgreSQL goes read-only at ~2.1B. The card shows the worst of XID and MXID as a percentage.

Caching

The Refresh button reloads the latest data. Successful maintenance actions also force fresh bloat data on the next load.