Skip to content

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

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

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

Conversation

@lfittl
Copy link
Copy Markdown
Owner

@lfittl lfittl commented Mar 25, 2026

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 <lukas@fittl.com>
Reviewed by: Jakub Wartak <jakub.wartak@enterprisedb.com>
Reviewed by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed by: Haibo Yan <tristan.yim@gmail.com>
Reviewed by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed by: Paul A Jungwirth <pj@illuminatedcomputing.com>
Reviewed by: Khoa Nguyen <khoaduynguyen@gmail.com>
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