1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

doc: Clarify that base backup progress counts uncompressed archive data

The documentation described base backup progress in terms of data
streamed, which could be mistaken for the amount of data sent over the
connection when server-side compression is enabled. Clarify that the
counters measure archive data before server-side compression.

The progress report message was also documented as counting bytes from
the current tablespace, although it reports a cumulative count for the
whole backup. Correct the description to say that the count covers all
tablespaces since the backup began.

Backpatch to 15, where both the progress report message and server-side
compression were introduced.

Suggested-by: Surya Poondla <suryapoondla4@gmail.com>
Author: Daria Lepikhova <daria.n.lepikhova@gmail.com>
Reviewed-by: Surya Poondla <suryapoondla4@gmail.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/CAOVWO5pNe6XprMnt5OTT+-2Sm67z5GX4DzUNArEHubF0z9-PZQ@mail.gmail.com
Backpatch-through: 15
This commit is contained in:
Fujii Masao
2026-10-14 19:52:39 +09:00
parent 0896fb027c
commit 145901ca75
4 changed files with 19 additions and 12 deletions

View File

@@ -7504,8 +7504,9 @@ FROM pg_stat_get_backend_idset() AS backendid;
<structfield>backup_total</structfield> <type>bigint</type>
</para>
<para>
Total amount of data that will be streamed. This is estimated and
reported as of the beginning of
Total amount of data that will be streamed. This counts archive data
before any server-side compression. The estimate is reported as of
the beginning of the
<literal>streaming database files</literal> phase. Note that
this is only an approximation since the database
may change during <literal>streaming database files</literal> phase
@@ -7524,7 +7525,8 @@ FROM pg_stat_get_backend_idset() AS backendid;
<structfield>backup_streamed</structfield> <type>bigint</type>
</para>
<para>
Amount of data streamed. This counter only advances
Amount of data streamed. This counts archive data before any server-side
compression. This counter only advances
when the phase is <literal>streaming database files</literal> or
<literal>transferring wal files</literal>.
</para></entry>

View File

@@ -2895,8 +2895,10 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<term><literal>size</literal> (<type>int8</type>)</term>
<listitem>
<para>
The approximate size of the tablespace, in kilobytes (1024 bytes),
if progress report has been requested; otherwise it's null.
The approximate size of the archive that will be generated for the
tablespace, in kilobytes (1024 bytes), if progress report has been
requested; otherwise it's null. This size is measured before any
server-side compression.
</para>
</listitem>
</varlistentry>
@@ -2994,8 +2996,9 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<varlistentry>
<term>Int64</term>
<listitem><para>
The number of bytes from the current tablespace for which
processing has been completed.
The cumulative number of bytes processed across all tablespaces
since the backup began. This counts archive data before any
server-side compression.
</para></listitem>
</varlistentry>
</variablelist>

View File

@@ -667,8 +667,8 @@ PostgreSQL documentation
always being <literal>NULL</literal>.
</para>
<para>
Without this option, the backup will start by enumerating
the size of the entire database, and then go back and send
Without this option, the backup will start by estimating the total
amount of data that will be streamed, and then go back and send
the actual contents. This may make the backup take slightly
longer, and in particular it will take longer before the first
data is sent. This option is useful to avoid such estimation

View File

@@ -51,10 +51,12 @@ typedef struct bbsink_ops bbsink_ops;
* 'tablespace_num' is the index of the current tablespace within the list
* stored in 'tablespaces'.
*
* 'bytes_done' is the number of bytes read so far from $PGDATA.
* 'bytes_done' is the number of bytes of archive data generated so far. This
* is counted before any server-side compression.
*
* 'bytes_total' is the total number of bytes estimated to be present in
* $PGDATA, if we have estimated this.
* 'bytes_total' is the total number of bytes of archive data estimated to be
* generated, if we have estimated this. The estimate is for data before any
* server-side compression.
*
* 'bytes_total_is_valid' is true if and only if a proper estimate has been
* stored into 'bytes_total'.