pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael Paquier <michael@paquier.xyz>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: pg_buffercache: Add pg_buffercache_mark_dirty{,_relation,_all}()
Date: Fri, 28 Nov 2025 00:04:59 +0000
Message-ID: <E1vOlyt-001jWQ-10@gemulon.postgresql.org> (raw)

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 <byavuz81@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Aidar Imamov <a.imamov@postgrespro.ru>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Reviewed-by: Joseph Koshakow <koshy44@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Yuhang Qiu <iamqyh@gmail.com>
Reviewed-by: Xuneng Zhou <xunengzhou@gmail.com>
Discussion: https://postgr.es/m/CAN55FZ0h_YoSqqutxV6DES1RW8ig6wcA8CR9rJk358YRMxZFmw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9ccc049dfe655ca9927f7c62559ec32f4d1f94dd

Modified Files
--------------
contrib/pg_buffercache/expected/pg_buffercache.out |  49 ++++++++-
.../pg_buffercache/pg_buffercache--1.6--1.7.sql    |  23 ++++
contrib/pg_buffercache/pg_buffercache_pages.c      | 122 +++++++++++++++++++++
contrib/pg_buffercache/sql/pg_buffercache.sql      |  17 ++-
doc/src/sgml/pgbuffercache.sgml                    |  93 +++++++++++++++-
5 files changed, 296 insertions(+), 8 deletions(-)



view thread (3+ messages)

Message-ID: <E1vOlyt-001jWQ-10@gemulon.postgresql.org>
Permalink:  ../E1vOlyt-001jWQ-10@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1vOlyt-001jWQ-10@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: michael@paquier.xyz, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: pg_buffercache: Add pg_buffercache_mark_dirty{,_relation,_all}()
  In-Reply-To: <E1vOlyt-001jWQ-10@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox