diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index aff6136f9a8..3f3f9a3727b 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -2105,7 +2105,10 @@ XLogFlush(XLogRecPtr record) /* Got the lock; recheck whether request is satisfied */ LogwrtResult = XLogCtl->LogwrtResult; if (XLByteLE(record, LogwrtResult.Flush)) + { + LWLockRelease(WALWriteLock); break; + } /* * Sleep before flush! By adding a delay here, we may give further