Re: [BUGS] BUG #14634: On Windows pg_basebackup should write tar to stdout in binary mode

Haribabu Kommi <kommi.haribabu@gmail.com>

From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: henry_boehlert@agilent.com
Cc: "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-05-03T04:32:54Z
Lists: pgsql-bugs, pgsql-hackers

Attachments

[Adding -hackers mailing list]

On Fri, Apr 28, 2017 at 6:28 PM, <henry_boehlert@agilent.com> wrote:

> The following bug has been logged on the website:
>
> Bug reference:      14634
> Logged by:          Henry Boehlert
> Email address:      henry_boehlert@agilent.com
> PostgreSQL version: 9.6.2
> Operating system:   Windows Server 2012 R2 6.3.9600
> Description:
>
> Executing command pg_basebackup -D -F t writes its output to stdout, which
> is open in text mode, causing LF to be converted to CR LF thus corrupting
> the resulting archive.
>
> To write the tar to stdout, on Windows stdout's mode should be temporarily
> switched to binary.
>
> https://msdn.microsoft.com/en-us/library/tw4k6df8.aspx
>

Thanks for reporting the issue.
With the attached patch, I was able to extract the tar file that gets
generated when the tar file is written into stdout. I tested the
the compressed tar also.

This bug needs to be fixed in back branches also.

Regards,
Hari Babu
Fujitsu Australia

Commits

  1. Fix pg_basebackup output to stdout on Windows.