Robert Haas <robertmhaas@gmail.com> writes:
> http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
> says: "Note: blocks_fetched minus blocks_hit gives the number of
> kernel read() calls issued for the table, index, or database; but the
> actual number of physical reads is usually lower due to kernel-level
> buffering." This seems to imply that anything that increases
> blocks_hit should also increase blocks_fetched, but that doesn't seem
> to match the actual behavior.
> rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;
It's talking about the underlying pg_stat_get_db_blocks_fetched()
function, not heap_blks_read which is just a view field defined as
pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,
Probably that sentence ought to spell out the full function name
instead of abbreviating.
regards, tom lane