On Fri, Dec 29, 2006 at 09:02:11PM -0500, Bruce Momjian wrote:
> Tom Lane wrote:
> > "Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> > > I believe there's something similar for OS X as well. The question is:
> > > would it be better to do that, or to just delay calling fsync until the
> > > OS has had a chance to write things out.
> >
> > A delay is not going to help unless you can suppress additional writes
> > to the file, which I don't think you can unless there's very little
> > going on in the database --- dirty buffers have to get written to make
> > room for other pages, checkpoint in progress or no.
>
> I am afraid a delay between write and fsync is the only portable option
> we have right now --- there is hope that since the check point write, we
> will not have a huge number of dirty buffers at the start of the
> checkpoint that need to be written out.
We could potentially control that behavior, too. For example, trying to
suppress writes to a given file when we're getting ready to checkpoint
it (of course, separating checkpointing into a file-by-file operation is
a non-trivial change, but it should be possible).
--
Jim Nasby jim(at)nasby(dot)net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)