Fix printing last progress report line in client programs. A number of client programs have a "--progress" option that when printing to a TTY, updates the current line by printing a '\r' and overwriting it. After the last line, '\n' needs to be printed to move the cursor to the next line. pg_basebackup and pgbench got this right, but pg_rewind and pg_checksums were slightly wrong. pg_rewind printed the newline to stdout instead of stderr, and pg_checksums printed the newline even when not printing to a TTY. Fix them, and also add a 'finished' argument to pg_basebackup's progress_report() function, to keep it consistent with the other programs.
Backpatch to v12. pg_rewind's newline was broken with the logging changes in commit cc8d415117 in v12, and pg_checksums was introduced in v12. Discussion: https://www.postgresql.org/message-id/[email protected] Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d7ec8337f9093b097f08f94e5ecec36303ad73fd Modified Files -------------- src/bin/pg_basebackup/pg_basebackup.c | 38 ++++++++++++++++++----------------- src/bin/pg_checksums/pg_checksums.c | 14 ++++++------- src/bin/pg_rewind/pg_rewind.c | 22 +++++++++++--------- src/bin/pg_rewind/pg_rewind.h | 2 +- 4 files changed, 41 insertions(+), 35 deletions(-)
