1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-29 16:21:20 +03:00

Back-patch checkpoint clarification docs and pg_basebackup updates

This backpatches 51e26c9 and 7220c7b, including both documentation
updates clarifying the checkpoints at the beginning of base backups and
the messages in verbose and progress mdoe of pg_basebackup.

Author: Michael Banck
Discussion: https://postgr.es/m/21444.1488142764%40sss.pgh.pa.us
This commit is contained in:
Magnus Hagander 2017-04-01 17:20:05 +02:00
parent cb366b5079
commit bd34e7f19b
2 changed files with 20 additions and 1 deletions

View File

@ -361,7 +361,7 @@ PostgreSQL documentation
<term><option>--checkpoint=<replaceable class="parameter">fast|spread</replaceable></option></term>
<listitem>
<para>
Sets checkpoint mode to fast or spread (default) (see <xref linkend="backup-lowlevel-base-backup">).
Sets checkpoint mode to fast (immediate) or spread (default) (see <xref linkend="backup-lowlevel-base-backup">).
</para>
</listitem>
</varlistentry>
@ -568,6 +568,14 @@ PostgreSQL documentation
<refsect1>
<title>Notes</title>
<para>
At the beginning of the backup, a checkpoint needs to be written on the
server the backup is taken from. Especially if the option
<literal>--checkpoint=fast</literal> is not used, this can take some time
during which <application>pg_basebackup</application> will be appear
to be idle.
</para>
<para>
The backup will include all files in the data directory and tablespaces,
including the configuration files and any additional files placed in the

View File

@ -1655,6 +1655,14 @@ BaseBackup(void)
if (maxrate > 0)
maxrate_clause = psprintf("MAX_RATE %u", maxrate);
if (verbose)
fprintf(stderr,
_("%s: initiating base backup, waiting for checkpoint to complete\n"),
progname);
if (showprogress && !verbose)
fprintf(stderr, "waiting for checkpoint\r");
basebkp =
psprintf("BASE_BACKUP LABEL '%s' %s %s %s %s %s",
escaped_label,
@ -1691,6 +1699,9 @@ BaseBackup(void)
strlcpy(xlogstart, PQgetvalue(res, 0, 0), sizeof(xlogstart));
if (verbose)
fprintf(stderr, _("%s: checkpoint completed\n"), progname);
/*
* 9.3 and later sends the TLI of the starting point. With older servers,
* assume it's the same as the latest timeline reported by