• Tom Lane's avatar
    Force default wal_sync_method to be fdatasync on Linux. · 576477e7
    Tom Lane authored
    Recent versions of the Linux system header files cause xlogdefs.h to
    believe that open_datasync should be the default sync method, whereas
    formerly fdatasync was the default on Linux.  open_datasync is a bad
    choice, first because it doesn't actually outperform fdatasync (in fact
    the reverse), and second because we try to use O_DIRECT with it, causing
    failures on certain filesystems (e.g., ext4 with data=journal option).
    This part of the patch is largely per a proposal from Marti Raudsepp.
    More extensive changes are likely to follow in HEAD, but this is as much
    change as we want to back-patch.
    
    Also clean up confusing code and incorrect documentation surrounding the
    fsync_writethrough option.  Those changes shouldn't result in any actual
    behavioral change, but I chose to back-patch them anyway to keep the
    branches looking similar in this area.
    
    In 9.0 and HEAD, also do some copy-editing on the WAL Reliability
    documentation section.
    
    Back-patch to all supported branches, since any of them might get used
    on modern Linux versions.
    576477e7
xlogdefs.h 4.59 KB