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
- pg_basebackup_tar_to_stdout_windows_fix.patch (application/octet-stream) patch
[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
-
Fix pg_basebackup output to stdout on Windows.
- 4b994a96c708 9.2.22 landed
- f3633689f25b 9.3.18 landed
- 240299806e90 9.4.13 landed
- f20d58a6f7b6 9.5.8 landed
- cedd25ae8877 9.6.4 landed
- 8046465c2ecf 10.0 landed