Opening stdin/stdout in binary mode on Windows - Mailing list pgsql-hackers-win32

From Tom Lane
Subject Opening stdin/stdout in binary mode on Windows
Date
Msg-id 7945.1106693507@sss.pgh.pa.us
Whole thread Raw
Responses Re: Opening stdin/stdout in binary mode on Windows  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers-win32
I wrote:
>> pg_restore: [archiver] unsupported version (1.13) in file header

> Come to think of it, I'll bet that you cannot use "> DBFile" on Windows
> because it ends up opening the archive file in text instead of binary
> mode.  SetOutput() in pg_backup_archiver.c tries to work around this by
> doing

>     fn = fileno(stdout);
>     AH->OF = fdopen(dup(fn), PG_BINARY_W);

> but it wouldn't surprise me in the least to learn that that doesn't work
> on Windows.

We now have confirmation that indeed this is the source of the pg_dump
misbehavior.  Can anyone suggest a way that does work to do binary I/O
on stdout?  What about reading from stdin?

If we can't fix this it will require some serious uglification of the
pg_dump/pg_restore docs for Windows ...

            regards, tom lane

pgsql-hackers-win32 by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: long sql "in" clause crashes server process (8.0 Release)
Next
From: Tom Lane
Date:
Subject: Re: Opening stdin/stdout in binary mode on Windows