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

Craig Ringer <craig@2ndquadrant.com>

From: Craig Ringer <craig@2ndquadrant.com>
To: Haribabu Kommi <kommi.haribabu@gmail.com>
Cc: henry_boehlert@agilent.com, "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-05-03T05:20:24Z
Lists: pgsql-bugs, pgsql-hackers
On 3 May 2017 at 12:32, Haribabu Kommi <kommi.haribabu@gmail.com> wrote:
> [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.

We should do the same for pg_dump in -Fc mode.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


Commits

  1. Fix pg_basebackup output to stdout on Windows.