On Wed, Sep 2, 2015 at 5:32 AM, Andres Freund <andres@anarazel.de> wrote:
On 2015-09-10 19:39:59 +0800, 张广舟(明虚) wrote: > We found there is a fsync call when CLOG buffer > is written out in SlruPhysicalWritePage(). It is often called when a backend > needs to check transaction status with SimpleLruReadPage().
That's when there's not enough buffers available some other, and your case dirty, needs to be written out.
Why bother to find a place to store the page in shared memory at all? If we just want to read it, and it isn't already in shared memory, then why not just ask the kernel for the specific byte we need? The byte we want to read can't differ between shared memory and kernel, because it doesn't exist in shared memory.