Re: Windows now has fdatasync()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Dave Page <dpage@pgadmin.org>, Michael Paquier <michael@paquier.xyz>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-07-18T04:33:45Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@gmail.com> writes:
> ... I was just noting an upcoming
> opportunity to remove the configure/meson probes for fdatasync, which
> made me feel better about the slightly kludgy way this patch is
> defining HAVE_FDATASYNC explicitly on Windows.

Hm.  There is certainly not any harm in the meson infrastructure
skipping that test, because prairiedog is not able to run meson
anyway.  Can we do that and still leave it in place on the autoconf
side?  Maybe not, because I suppose you want to remove #ifdefs in
the code itself.

I see that fdatasync goes back as far as SUS v2, which we've long
taken as our minimum POSIX infrastructure.  So there's not a lot
of room to insist that we should support allegedly-Unix platforms
without it.

			regards, tom lane



Commits

  1. Remove configure probe for fdatasync.

  2. Remove O_FSYNC and associated macros.

  3. Fix warnings on Windows.

  4. Add wal_sync_method=fdatasync for Windows.