Re: Theory question - Mailing list pgsql-general

From Jeff Janes
Subject Re: Theory question
Date
Msg-id CAMkU=1zuo=1MFtpTsD52f2TqBVAkzWnfH5JcU7MhVv0pLr7U1g@mail.gmail.com
Whole thread Raw
In response to Re: Theory question  (Jayadevan <maymala.jayadevan@gmail.com>)
Responses Re: Theory question
List pgsql-general
On Tue, Nov 12, 2013 at 7:09 PM, Jayadevan <maymala.jayadevan@gmail.com> wrote:
Kevin Grittner-5 wrote
> The checkpointer process is responsible for creating safe points
> from which a recovery can begin; the background writer tries to
> keep some pages available for re-use so that processes running
> queries don't need to wait for page writes  in order to have free
> spots to use in shared buffers.

Thank you. Do both of them write to the same files?

Yes, mostly. (The checkpointer also does some other housekeeping writes beyond the ordinary data file ones)
 
Is it that checkpoint
writes only committed data whereas background writer may also write
non-committed data if there is no space available in the buffers?

No.  The checkpointer writes all data that was dirty as of a certain time (the start of the checkpoint) regardless of how often it was used since dirtied, and the background writer writes data that hasn't been used recently, regardless of when it was first dirtied.  Neither knows or cares whether the data being written was committed, rolled back, or still in progress.

 
Cheers,

Jeff

pgsql-general by date:

Previous
From: Alban Hertroys
Date:
Subject: Re: Pg version number format
Next
From: "Janek Sendrowski"
Date:
Subject: pg_trgm module: no convertion into Trigrams on one side when comparing