diff options
Diffstat (limited to 'src/backend/access/transam/twophase.c')
-rw-r--r-- | src/backend/access/transam/twophase.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 4b4999fd7b4..83169cccc30 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -1650,6 +1650,14 @@ CheckPointTwoPhase(XLogRecPtr redo_horizon) } LWLockRelease(TwoPhaseStateLock); + /* + * Flush unconditionally the parent directory to make any information + * durable on disk. Two-phase files could have been removed and those + * removals need to be made persistent as well as any files newly created + * previously since the last checkpoint. + */ + fsync_fname(TWOPHASE_DIR, true); + TRACE_POSTGRESQL_TWOPHASE_CHECKPOINT_DONE(); if (log_checkpoints && serialized_xacts > 0) |