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
Related parameters
vacuum_cost_page_hit vacuum_cost_page_dirty vacuum_cost_limit