Skip to content

pg_buffercache: Add pg_buffercache_relations() function (v2)#50

Open
lfittl wants to merge 1 commit into
masterfrom
pg-bufferusage-relation-stats-v2
Open

pg_buffercache: Add pg_buffercache_relations() function (v2)#50
lfittl wants to merge 1 commit into
masterfrom
pg-bufferusage-relation-stats-v2

Conversation

@lfittl

@lfittl lfittl commented Mar 25, 2026

Copy link
Copy Markdown
Owner

No description provided.

This function returns an aggregation of buffer contents, grouped on a
per-relfilenode basis. This is often useful to understand which tables or
indexes are currently in cache, and can show cache disruptions due to query
activity when sampled over time.

The existing pg_buffercache() function can be utilized for this by
grouping the result, but passing a large amount of buffer entries
(one per page) back to the tuplestore and then aggregating it can be
prohibitively expensive with large buffer counts. Even on a small shared
buffers (128MB) the new function is 10x faster. Similar to the existing
summary functions this new function does not hold buffer partition or
buffer header locks whilst gathering its statistics.

Author: Lukas Fittl <[email protected]>
Reviewed by: Jakub Wartak <[email protected]>
Reviewed by: Bertrand Drouvot <[email protected]>
Reviewed by: Haibo Yan <[email protected]>
Reviewed by: Masahiko Sawada <[email protected]>
Reviewed by: Paul A Jungwirth <[email protected]>
Reviewed by: Khoa Nguyen <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/CAP53Pkx0=ph0vG_M20yVAoK11yGSTZP=53-rZt36OCP4hBPaDQ@mail.gmail.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant