pgsql: Force default wal_sync_method to be fdatasync on Linux.
От | Tom Lane |
---|---|
Тема | pgsql: Force default wal_sync_method to be fdatasync on Linux. |
Дата | |
Msg-id | E1PQUtx-0006yH-Le@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Force default wal_sync_method to be fdatasync on Linux. 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. Branch ------ REL8_3_STABLE Details ------- http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=44dfc9cd71141759cefadcf3e2965e88188b24dc Modified Files -------------- doc/src/sgml/config.sgml | 9 +++++---- src/backend/storage/file/fd.c | 9 +++++---- src/backend/utils/misc/postgresql.conf.sample | 2 +- src/include/access/xlogdefs.h | 10 +++++----- src/include/port/linux.h | 10 ++++++++++ src/include/port/win32.h | 14 +++++++++----- 6 files changed, 35 insertions(+), 19 deletions(-)
В списке pgsql-committers по дате отправления: