diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index aff6136f9a8c854fb725e55759fdb62caa251ee9..3f3f9a3727b1c83e75d40b35fe447a18bf12d13b 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