mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-11 19:20:40 +08:00
pg_basebackup: Skip a few more fsyncs if --no-sync is specified.
This is mostly interesting for running the regression tests on machines with slow / overloaded IO. Discussion: https://postgr.es/m/20220119041646.rhuo3youiqxqjmo2@alap3.anarazel.de
This commit is contained in:
parent
ac7df108cf
commit
9c86d9337e
@ -2201,9 +2201,21 @@ BaseBackup(void)
|
||||
snprintf(tmp_filename, MAXPGPATH, "%s/backup_manifest.tmp", basedir);
|
||||
snprintf(filename, MAXPGPATH, "%s/backup_manifest", basedir);
|
||||
|
||||
/* durable_rename emits its own log message in case of failure */
|
||||
if (durable_rename(tmp_filename, filename) != 0)
|
||||
exit(1);
|
||||
if (do_sync)
|
||||
{
|
||||
/* durable_rename emits its own log message in case of failure */
|
||||
if (durable_rename(tmp_filename, filename) != 0)
|
||||
exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rename(tmp_filename, filename) != 0)
|
||||
{
|
||||
pg_log_error("could not rename file \"%s\" to \"%s\": %m",
|
||||
tmp_filename, filename);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
|
@ -445,7 +445,17 @@ dir_close(Walfile f, WalCloseMethod method)
|
||||
snprintf(tmppath2, sizeof(tmppath2), "%s/%s",
|
||||
dir_data->basedir, filename2);
|
||||
pg_free(filename2);
|
||||
r = durable_rename(tmppath, tmppath2);
|
||||
if (dir_data->sync)
|
||||
r = durable_rename(tmppath, tmppath2);
|
||||
else
|
||||
{
|
||||
if (rename(tmppath, tmppath2) != 0)
|
||||
{
|
||||
pg_log_error("could not rename file \"%s\" to \"%s\": %m",
|
||||
tmppath, tmppath2);
|
||||
r = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (method == CLOSE_UNLINK)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user