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:04:59 +0000 (16:04 +1300)
commitf900a79ecdc1864a6ead72c97c34a41012227eaf
tree79dfa5d680b37149cc299be5fb52ef78aca962f8
parent2c8b42b50df6cc5ba6987c400a857d6bbfdf0300
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