Re: Checkpoint question - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Checkpoint question
Date
Msg-id 406.1137035575@sss.pgh.pa.us
Whole thread Raw
In response to Checkpoint question  (Qingqing Zhou <zhouqq@cs.toronto.edu>)
Responses Re: Checkpoint question  (Qingqing Zhou <zhouqq@cs.toronto.edu>)
Re: Checkpoint question  (Qingqing Zhou <zhouqq@cs.toronto.edu>)
List pgsql-hackers
Qingqing Zhou <zhouqq@cs.toronto.edu> writes:
> So I wonder is it possible flush only dirty buffers with LSN < RedoRecPtr
> to improve checkpoint caused delay?

Certainly not.  If LSN > RedoRecPtr then you know the buffer contains
some changes more recent than the checkpoint, but you cannot tell
whether it also contains changes older than the checkpoint.  For
correctness you must flush it.

It'd be possible to do something like this: after establishing
RedoRecPtr, make one quick pass through the buffers and make a list of
what needs to be dumped at that instant.  Then go back and do the actual
I/O for only those buffers.  I'm dubious that this will really improve
matters though, as the net effect is just to postpone I/O that will
happen anyway soon after the checkpoint (as soon as the bgwriter goes
back to normal activity).
        regards, tom lane


pgsql-hackers by date:

Previous
From: Qingqing Zhou
Date:
Subject: Re: Checkpoint question
Next
From: Qingqing Zhou
Date:
Subject: Re: Checkpoint question