Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Opening stdin/stdout in binary mode on Windows


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: pgsql-hackers-win32(at)postgresql(dot)org
  • Subject: Opening stdin/stdout in binary mode on Windows
  • Date: Tue, 25 Jan 2005 17:51:47 -0500
  • Message-id: <7945.1106693507@sss.pgh.pa.us> <text/plain>

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



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group