pg_buffercache: Add pg_buffercache_mark_dirty{,_relation,_all}() master github/master
authorMichael Paquier <[email protected]>
Fri, 28 Nov 2025 00:04:04 +0000 (09:04 +0900)
committerMichael Paquier <[email protected]>
Fri, 28 Nov 2025 00:04:04 +0000 (09:04 +0900)
commit9ccc049dfe655ca9927f7c62559ec32f4d1f94dd
tree59c63e338aab37d15388913554926bb4237bd14d
parentd167c19295da46be1998dd474841f94170e32597
pg_buffercache: Add pg_buffercache_mark_dirty{,_relation,_all}()

This commit introduces three new functions for marking shared buffers as
dirty by using the functions introduced in 9660906dbd69:
* pg_buffercache_mark_dirty() for one shared buffer.
- pg_buffercache_mark_dirt_relation() for all the shared buffers in a
relation.
* pg_buffercache_mark_dirty_all() for all the shared buffers in pool.

The "_all" and "_relation" flavors are designed to address the
inefficiency of repeatedly calling pg_buffercache_mark_dirty() for each
individual buffer, which can be time-consuming when dealing with with
large shared buffers pool.

These functions are intended as developer tools and are available only
to superusers.  There is no need to bump the version of pg_buffercache,
4b203d499c61 having done this job in this release cycle.

Author: Nazir Bilal Yavuz <[email protected]>
Reviewed-by: Andres Freund <[email protected]>
Reviewed-by: Aidar Imamov <[email protected]>
Reviewed-by: Amit Kapila <[email protected]>
Reviewed-by: Joseph Koshakow <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Reviewed-by: Yuhang Qiu <[email protected]>
Reviewed-by: Xuneng Zhou <[email protected]>
Discussion: https://postgr.es/m/CAN55FZ0h_YoSqqutxV6DES1RW8ig6wcA8CR9rJk358YRMxZFmw@mail.gmail.com
contrib/pg_buffercache/expected/pg_buffercache.out
contrib/pg_buffercache/pg_buffercache--1.6--1.7.sql
contrib/pg_buffercache/pg_buffercache_pages.c
contrib/pg_buffercache/sql/pg_buffercache.sql
doc/src/sgml/pgbuffercache.sgml