On Fri, Jun 1, 2018 at 3:13 PM, Laurenz Albe <laurenz.a...@cybertec.at>
wrote:

> I recently read our documentation about reliability on Windows:
>
> > On Windows, if wal_sync_method is open_datasync (the default), write
> caching can
> > be disabled by unchecking
> > My Computer\Open\disk drive\Properties\Hardware\Properties\Policies\Enable
> write caching
> > on the disk. Alternatively, set wal_sync_method to fsync or
> fsync_writethrough,
> > which prevent write caching.
>
> It seems dangerous to me to initialize "wal_sync_method" to a method that
> is unsafe
> by default.  Admittedly I am not a Windows man, but the fact that this has
> eluded me
> up to now leads me to believe that other people running PostgreSQL on
> Windows might
> also have missed that important piece of advice and are consequently
> running with
> an unsafe setup.
>
> Wouldn't it be smarter to set a different default value on Windows, like
> we do on
> Linux (for other reasons)?
>
>
One thing to note is that it seems that in code we use
FILE_FLAG_WRITE_THROUGH for open_datasync which according to MSDN [1] will
bypass any intermediate cache .  See pgwin32_open.  Have you experimented
to set any other option as we have a comment in code which say Win32 only
has O_DSYNC?


[1] -
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

Reply via email to