Don't use O_DIRECT when writing WAL files if archiving or streaming is

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: ad458cfe81bcefd6d8bd17ff2e42c6599d441bd6
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2010-02-19T10:51:04Z
Releases: 9.0.0
Don't use O_DIRECT when writing WAL files if archiving or streaming is
enabled. Bypassing the kernel cache is counter-productive in that case,
because the archiver/walsender process will read from the WAL file
soon after it's written, and if it's not cached the read will cause
a physical read, eating I/O bandwidth available on the WAL drive.

Also, walreceiver process does unaligned writes, so disable O_DIRECT
in walreceiver process for that reason too.

Files