diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 3861b8f583c..f2fd8f336ed 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -1386,7 +1386,8 @@ RestoreSlotFromDisk(const char *name) elog(DEBUG1, "restoring replication slot from \"%s\"", path); - fd = OpenTransientFile(path, O_RDONLY | PG_BINARY); + /* on some operating systems fsyncing a file requires O_RDWR */ + fd = OpenTransientFile(path, O_RDWR | PG_BINARY); /* * We do not need to handle this as we are rename()ing the directory into