pgsql: Support direct I/O on macOS.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Support direct I/O on macOS.
Date: 2021-07-18 23:58:58
Message-ID: E1m5GgU-0003O0-Sj@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Support direct I/O on macOS.

Macs don't understand O_DIRECT, but they can disable caching with a
separate fcntl() call. Extend the file opening functions in fd.c to
handle this for us if the caller passes in PG_O_DIRECT.

For now, this affects only WAL data and even then only if you set:

max_wal_senders=0
wal_level=minimal

This is not expected to be very useful on its own, but later proposed
patches will make greater use of direct I/O, and it'll be useful for
testing if developers on Macs can see the effects.

Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Discussion: https://postgr.es/m/CA%2BhUKG%2BADiyyHe0cun2wfT%2BSVnFVqNYPxoO6J9zcZkVO7%2BNGig%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2dbe8905711ba09a2214b6e835f8f0c2c4981cb3

Modified Files
--------------
src/backend/storage/file/fd.c | 36 +++++++++++++++++++++++++++++++++++
src/bin/pg_test_fsync/pg_test_fsync.c | 35 ++++++++++++++++++++++++++++++----
src/include/access/xlogdefs.h | 15 ---------------
src/include/storage/fd.h | 16 ++++++++++++++++
4 files changed, 83 insertions(+), 19 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2021-07-19 03:12:10 pgsql: Update comments for AlterSubscription.
Previous Message Alexander Korotkov 2021-07-18 18:11:57 pgsql: Support for unnest(multirange)