Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom Lane wrote:
> >> One reason I like the idea of adopting a sync-when-you-write policy is
> >> that it eliminates the need for anything as messy as that.
>
> > Yes, but can we do it without causing a performance degredation, and I
> > would hate to change something to make things easier on Win32 while
> > penalizing all platforms.
>
> Having to keep a list of modified files in shared memory isn't a penalty?
>
> Seriously though, if we can move the bulk of the writing work into
> background processes then I don't believe that there will be any
> significant penalty for regular backends. And I believe that it would
> be a huge advantage from a correctness point of view if we could stop
> depending on sync(). The fact that Windows hasn't got sync() is merely
> another reason we should stop using it.
If the background writer starts using fsync(), we can have normal
backends that do a write() set a shared memory boolean. We can then
test that boolean and do sync() only if other backends had to do their
own writes.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073