Peter Eisentraut <peter_e@gmx.net> writes:
>> Peter, what do you think about configuration-dependent defaults for
>> GUC variables?
> We have plenty of those already, but we should avoid a variable whose
> specification is:
> "The default is 'on' if your system defines one of the macros O_SYNC,
> O_DSYNC, O_FSYNC, and if O_SYNC and O_DSYNC are distinct, otherwise the
> default is 'off'."
Unfortunately, I think that's just about what the default would need to
be. What alternative do you have to offer?
> The net result of this would be that the average user would have
> absolutely no clue what the default on his machine is.
Sure he would. Fire up the software and do "SHOW wal_use_fsync"
(or whatever we call it). I think the documentation could just say
"the default is platform-dependent".
> Additionally consider that maybe O_SYNC and O_DSYNC have different values
> but the kernel treats them the same anyway. We really shouldn't try to
> guess that far.
Well, that's exactly *why* we need an overridable default. Or would you
like to try to do some performance measurements in configure?
regards, tom lane