DB Internals AtlasPostgreSQL 18.6 Home About

Parameter · Vacuuming / Cost-Based Vacuum Delay

vacuum_cost_page_miss

Vacuum cost for a page not found in the buffer cache.

  • Default: 2
  • Type: integer
  • Range: 0 … 10000
  • Applies: Session (any user)

In plain words

A page that is not in shared buffers must be read in, which costs 2 points by default.

For DBAs and operators

The default dropped from 10 to 2 in PostgreSQL 14, reflecting that most reads come from the OS page cache or fast SSDs; on old installs upgraded with a copied postgresql.conf you may still find 10, which makes vacuum of large uncached tables about five times slower than necessary. Note that "miss" means a shared-buffers miss, not necessarily a physical read.

How to change it

Any user can change it for their session with SET.

See it in context

VACUUM

Related parameters

vacuum_cost_page_hit vacuum_cost_page_dirty vacuum_cost_limit

All Vacuuming parameters