diff options
Diffstat (limited to 'src/bin/pg_dump/pg_backup_custom.c')
-rw-r--r-- | src/bin/pg_dump/pg_backup_custom.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bin/pg_dump/pg_backup_custom.c b/src/bin/pg_dump/pg_backup_custom.c index 5737608f9e1..a1f4cb1fea5 100644 --- a/src/bin/pg_dump/pg_backup_custom.c +++ b/src/bin/pg_dump/pg_backup_custom.c @@ -28,6 +28,7 @@ #include "compress_io.h" #include "parallel.h" #include "pg_backup_utils.h" +#include "common/file_utils.h" /*-------- * Routines in the format interface @@ -721,6 +722,10 @@ _CloseArchive(ArchiveHandle *AH) if (fclose(AH->FH) != 0) exit_horribly(modulename, "could not close archive file: %s\n", strerror(errno)); + /* Sync the output file if one is defined */ + if (AH->dosync && AH->mode == archModeWrite && AH->fSpec) + (void) fsync_fname(AH->fSpec, false, progname); + AH->FH = NULL; } |