]> granicus.if.org Git - postgresql/commitdiff
Improve base backup protocol documentation
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 3 Sep 2019 09:59:36 +0000 (11:59 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 3 Sep 2019 09:59:36 +0000 (11:59 +0200)
Document that the tablespace sizes are in units of kilobytes.  Make
the pg_basebackup source code a bit clearer about this, too.

Reviewed-by: Magnus Hagander <magnus@hagander.net>
doc/src/sgml/protocol.sgml
src/bin/pg_basebackup/pg_basebackup.c

index b20f1690a7e855cdc16e3b15ab36be20269a32f5..f036d5f178bee2fe520431309b0925fb93256387 100644 (file)
@@ -2615,8 +2615,8 @@ The commands accepted in replication mode are:
         <term><literal>size</literal> (<type>int8</type>)</term>
         <listitem>
          <para>
-          The approximate size of the tablespace, if progress report has
-          been requested; otherwise it's null.
+          The approximate size of the tablespace, in kilobytes (1024 bytes),
+          if progress report has been requested; otherwise it's null.
          </para>
         </listitem>
        </varlistentry>
index 9207109ba3b13f6e7f1c201f8f8b099ebd84c16d..498754eb32b4d609ee1746fc4706788ae286b3d5 100644 (file)
@@ -115,7 +115,7 @@ static bool made_tablespace_dirs = false;
 static bool found_tablespace_dirs = false;
 
 /* Progress counters */
-static uint64 totalsize;
+static uint64 totalsize_kb;
 static uint64 totaldone;
 static int     tablespacecount;
 
@@ -722,7 +722,7 @@ progress_report(int tablespacenum, const char *filename, bool force)
                return;                                 /* Max once per second */
 
        last_progress_report = now;
-       percent = totalsize ? (int) ((totaldone / 1024) * 100 / totalsize) : 0;
+       percent = totalsize_kb ? (int) ((totaldone / 1024) * 100 / totalsize_kb) : 0;
 
        /*
         * Avoid overflowing past 100% or the full size. This may make the total
@@ -732,8 +732,8 @@ progress_report(int tablespacenum, const char *filename, bool force)
         */
        if (percent > 100)
                percent = 100;
-       if (totaldone / 1024 > totalsize)
-               totalsize = totaldone / 1024;
+       if (totaldone / 1024 > totalsize_kb)
+               totalsize_kb = totaldone / 1024;
 
        /*
         * Separate step to keep platform-dependent format code out of
@@ -742,7 +742,7 @@ progress_report(int tablespacenum, const char *filename, bool force)
         */
        snprintf(totaldone_str, sizeof(totaldone_str), INT64_FORMAT,
                         totaldone / 1024);
-       snprintf(totalsize_str, sizeof(totalsize_str), INT64_FORMAT, totalsize);
+       snprintf(totalsize_str, sizeof(totalsize_str), INT64_FORMAT, totalsize_kb);
 
 #define VERBOSE_FILENAME_LENGTH 35
        if (verbose)
@@ -1942,11 +1942,11 @@ BaseBackup(void)
        /*
         * Sum up the total size, for progress reporting
         */
-       totalsize = totaldone = 0;
+       totalsize_kb = totaldone = 0;
        tablespacecount = PQntuples(res);
        for (i = 0; i < PQntuples(res); i++)
        {
-               totalsize += atol(PQgetvalue(res, i, 2));
+               totalsize_kb += atol(PQgetvalue(res, i, 2));
 
                /*
                 * Verify tablespace directories are empty. Don't bother with the