fsync backup_label after pg_start_backup()

Dave Kerr, backpatched by Simon Riggs
This commit is contained in:
Simon Riggs 2012-08-07 16:22:58 +01:00
parent 8fb54e91b3
commit c0751d323e

View File

@ -8546,7 +8546,7 @@ pg_start_backup(PG_FUNCTION_ARGS)
checkpointloc.xlogid, checkpointloc.xrecoff);
fprintf(fp, "START TIME: %s\n", strfbuf);
fprintf(fp, "LABEL: %s\n", backupidstr);
if (fflush(fp) || ferror(fp) || FreeFile(fp))
if (fflush(fp) || ferror(fp) || pg_fsync(fileno(fp)) != 0 || FreeFile(fp))
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not write file \"%s\": %m",