Bruce Momjian wrote:

Michael Paesold wrote:
Magnus Hagander wrote:
[snip]

Michael, I am not sure why you come to the conclusion that open_sync
requires turning off the disk write cache.  I saw nothing to indicate
that in the thread:

I was just seeing his error message below...

http://archives.postgresql.org/pgsql-hackers-win32/2005-02/msg00035.php

I read the following:

> > * Win32, with fsync, write-cache disabled: no data corruption
> > * Win32, with fsync, write-cache enabled: no data corruption
> > * Win32, with osync, write cache disabled: no data corruption
> > * Win32, with osync, write cache enabled: no data corruption. Once I
> > got:
> > 2005-02-24 12:19:54 LOG:  could not open file "C:/Program
> > Files/PostgreSQL/8.0/data/pg_xlog/000000010000000000000010"
> (log file
> > 0, segment 16): No such file or directory
> >   but the data in the database was consistent.

A missing xlog file does not strike me as "very save". Perhaps someone can explain what happened, but I would not feel good about this. Again this note (from Tom Lane) in combination with the above error would tell me, we don't fully understand the risk here.


> It disturbs me that you couldn't produce data corruption in
> the cases where it theoretically should occur.  Seems like
> this is an indication that your test was insufficiently
> severe, or that there is something going on we don't understand.

The Windows driver knows abotu the write cache, and at least fsync()
pushes through the write cache even if it's there. This seems to
indicate taht O_SYNC at least partiallyi does this as well. This is why
there is no performance difference at all on fsync() with write cache on
or off.

I don't know if this is true for all IDE disks. COuld be that my disk is
particularly well-behaved.

This indicated to me that open_sync did not require any additional changes than our current fsync.

We both based our understanding on the same evidence. It seems we just have a different level of paranoia. ;-)


Best Regards,
Michael Paesold


---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to