Tom Lane wrote: > Magnus Hagander <[EMAIL PROTECTED]> writes: >> Tom Lane wrote: >>> Hmm ... or at least more or less fixed. Seems like there's no provision >>> to close and reopen the file if enableFsync changes. Not sure if that's >>> worth worrying about. > >> We didn't have that before either, did we? > > No, so I think it's a pre-existing bug.
Ok, at least I'm reading the code right. >> We close it when the sync bit >> changes, but not just if we change say between fsync() and fdatasync(). >> Is there any actual reason we'd want to close it? > > The point is that if you turn the fsync GUC on or off while using a wal > sync mode that requires supplying an option flag to open(), then really > you ought to close the WAL file and re-open it with the new correct > option flags. The fact that we're not doing that implies that the > effects of a change in fsync might not fully take effect until the next > WAL segment is started. Whether this is worth fixing isn't real clear. What scenario does it actually happen in, though? Doesn't the check: if (get_sync_bit(sync_method) != get_sync_bit(new_sync_method)) take care of that? If the sync bit changed, we close the file? Or are you talking about changing the variable "fsync"? If so, doesn't "fsync=off" also change the behavior of other parts of the code, so it's not just WAL, which means it'd be pretty unsafe *anyway* unless you actually "sync" the disks, and not just fsync? //Magnus //Magnus -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers