Re: Summary function for pg_buffercache

From: Zhang Mingli <zmlpostgres(at)gmail(dot)com>
To: Melih Mutlu <m(dot)melihmutlu(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Aleksander Alekseev <aleksander(at)timescale(dot)com>
Subject: Re: Summary function for pg_buffercache
Date: 2022-09-20 12:52:13
Message-ID: 217ae4ea-b08a-4256-9cea-9447d686d7d9@Spark
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,
On Sep 20, 2022, 20:49 +0800, Melih Mutlu <m(dot)melihmutlu(at)gmail(dot)com>, wrote:
> Hi Zhang,
>
> Those are two different locks.
> The locks that are taken in the patch are for buffer headers. This locks only the current buffer and makes that particular buffer's info consistent within itself.
>
> However, the lock mentioned in the doc is for buffer manager which would prevent changes on any buffer if it's held.
> pg_buffercache_summary (and pg_buffercache_pages) does not hold buffer manager lock. Therefore, consistency across all buffers is not guaranteed.
>
> For pg_buffercache_pages, self-consistent buffer information is useful since it shows each buffer separately.
>
> For pg_buffercache_summary, even self-consistency may not matter much since results are aggregated and we can't see individual buffer information.
> Consistency across all buffers is also not a concern since its purpose is to give an overall idea about the state of buffers.
>
> I see that these two different locks in the same context can be confusing. I hope it is a bit more clear now.
>
> Best,
> Melih
Thanks for your explanation, LGTM.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-09-20 13:13:19 Re: HOT chain validation in verify_heapam()
Previous Message Melih Mutlu 2022-09-20 12:49:39 Re: Summary function for pg_buffercache