Shane Wright <shane.wright@edigitalresearch.com> writes:
> If we turn sync off, surely PostgreSQL keeps the data consistent, ext3
> journalling keeps the filesystem clean [assuming other mount options left at
> defaults], and then everything should be ok with either a server crash, power
> failure, storage failure, whatever. right?
I checked around with some of Red Hat's kernel folk, and the bottom line
seems to be that it's OK as long as you trust the hardware:
:> Question is, can fsync(2) be trusted to behave properly, ie, not return
:> until all writes are down to disk, if the SAN is mounted -o async ?
:
: async is the default, which is the whole point of having things like
: fsync, fdatasync, O_DIRECT, etc. You can trust fsync as far as you can
: trust the hardware. The call will not return until the SAN says the
: data has been written.
:
: In reality, the SAN is probably buffering these writes (possibly into
: SRAM or battery-backed RAM), and the disks are probably buffering them
: again, but you've got redundant power supplies and UPSs, right?
regards, tom lane