Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 1bb6924

Browse files
committed
Adjust total size in pg_basebackup progress report when reality changes
When streaming including WAL, the size estimate will always be incorrect, since we don't know how much WAL is included. To make sure the output doesn't look completely unreasonable, this patch increases the total size whenever we go past the estimate, to make sure we never go above 100%.
1 parent 2877c67 commit 1bb6924

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/bin/pg_basebackup/pg_basebackup.c

+9
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,17 @@ progress_report(int tablespacenum, const char *filename)
207207
char totaldone_str[32];
208208
char totalsize_str[32];
209209

210+
/*
211+
* Avoid overflowing past 100% or the full size. This may make the
212+
* total size number change as we approach the end of the backup
213+
* (the estimate will always be wrong if WAL is included), but
214+
* that's better than having the done column be bigger than the
215+
* total.
216+
*/
210217
if (percent > 100)
211218
percent = 100;
219+
if (totaldone / 1024 > totalsize)
220+
totalsize = totaldone / 1024;
212221

213222
/*
214223
* Separate step to keep platform-dependent format code out of translatable

0 commit comments

Comments
 (0)