--- src/backend/storage/file/fd.c 2025-05-06 04:28:35.000000000 +0800 +++ src/backend/storage/file/fd.c 2025-07-30 07:02:44.000000000 +0800 @@ -485,7 +485,11 @@ return 0; retry: +#ifdef __APPLE__ + rc = fcntl(fd, F_FULLFSYNC); +#else rc = fdatasync(fd); +#endif if (rc == -1 && errno == EINTR) goto retry; --- src/bin/pg_test_fsync/pg_test_fsync.c 2025-05-06 04:28:35.000000000 +0800 +++ src/bin/pg_test_fsync/pg_test_fsync.c 2025-07-30 07:17:39.000000000 +0800 @@ -348,7 +348,11 @@ XLOG_BLCKSZ, writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) die("write failed"); +#ifdef __APPLE__ + fcntl(tmpfile, F_FULLFSYNC); +#else fdatasync(tmpfile); +#endif } STOP_TIMER; close(tmpfile);