What are the real differences between the bgwriter and checkpointer process? Both of them write data from the buffer to the data files, right? Is it just a matter of 'when' they write?
Regards,
Jayadevan
Expect some corrections
by others
on
my understanding
described below.
AFAIK, they share the load of writing dirty-buffers to disk, though they are defined to serve different purpose. Basically, background writer process sole function is to write "dirty" shared buffers to disk and evict those pages from shared buffer pool. Whereas checkpoint, arrives to write all dirty data pages in shared_buffers to disk only when checkpoint_timeout or when all checkpoint_segments are filled, whichever comes first. However, BG Writer (Writer Process) will be continuously
trickle out dirty pages to disk so that by the time checkpoint arrives there will be left only with f