• Heikki Linnakangas's avatar
    Fix printing last progress report line in client programs. · d7ec8337
    Heikki Linnakangas authored
    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 cc8d4151 in v12, and pg_checksums was introduced in v12.
    
    Discussion: https://www.postgresql.org/message-id/82b539e5-ae33-34b0-1aee-22b3379fd3eb@iki.fi
    d7ec8337
pg_basebackup.c 66.7 KB