Default to wal_sync_method=fdatasync on FreeBSD.
authorThomas Munro <tmunro@postgresql.org>
Mon, 15 Feb 2021 02:43:39 +0000 (15:43 +1300)
committerThomas Munro <tmunro@postgresql.org>
Mon, 15 Feb 2021 03:06:25 +0000 (16:06 +1300)
commit1fefe8879a684666fee8353bef99e8c3e6f15901
treee71d878f76953e5a2d9f73bafbe1ff0ece3ad033
parentacafdd9ed5f05742730ee666abf49b89e8a125ad
Default to wal_sync_method=fdatasync on FreeBSD.

FreeBSD 13 gained O_DSYNC, which would normally cause wal_sync_method to
choose open_datasync as its default value.  That may not be a good
choice for all systems, and performs worse than fdatasync in some
scenarios.  Let's preserve the existing default behavior for now.

Like commit 576477e73c4, which did the same for Linux, back-patch to all
supported releases.

Discussion: https://postgr.es/m/CA%2BhUKGLsAMXBQrCxCXoW-JsUYmdOL8ALYvaX%3DCrHqWxm-nWbGA%40mail.gmail.com
doc/src/sgml/config.sgml
src/backend/utils/misc/postgresql.conf.sample
src/include/port/freebsd.h