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