Cookbook recipe

The visibility map and freezing explained

Applies to PostgreSQL 13–17 Last reviewed May 2026 Grounded in source
Estimated investigation4 min

Scenario

Index-only scans and fast vacuums both depend on the visibility map. Understanding it explains a lot of PostgreSQL behavior. Diagnose it See frozen/all-visible info indirectly via vacuum verbose: VACUUM (VERBOSE) orders; -- reports pages skipped via…

Investigation Path

Index-only scans and fast vacuums both depend on the visibility map. Understanding it explains a lot of PostgreSQL behavior.

Diagnose it

See frozen/all-visible info indirectly via vacuum verbose:

VACUUM (VERBOSE) orders;  -- reports pages skipped via visibility map

Why it happens

The visibility map marks pages where every tuple is visible to all transactions (all-visible) and, separately, all-frozen. VACUUM can skip all-visible pages, and index-only scans can avoid the heap for them.

This is a Pro lesson

Get every Learning Pathway and cookbook recipe — grounded in PostgreSQL source code, with diagnostics, fixes, and prevention for each topic.

Continue this lesson to learn:

  • How to fix it
  • Prevent it next time
  • Related & next steps
  • All 36 Learning Pathway lessons
  • 170+ cookbook recipes
  • Source-grounded diagnostics & fixes

Secure checkout Cancel anytime Source-grounded

Career Impact

This scenario builds production judgment and operational confidence under pressure.

Open Career Dashboard →

Keep going

Related & next steps

Was this helpful?

← All cookbook recipes