Re: pg_dump -Ft failed on Windows XP

Zeugswetter Andreas ADI SD <zeugswettera@spardat.at>

From: "Zeugswetter Andreas DCP SD" <ZeugswetterA@spardat.at>
To: "Tom Lane" <tgl@sss.pgh.pa.us>, "Magnus Hagander" <mha@sollentuna.net>
Cc: "Peter Eisentraut" <peter_e@gmx.net>, <pgsql-hackers@postgresql.org>, "Yoshiyuki Asaba" <y-asaba@sraoss.co.jp>
Date: 2006-04-21T09:11:46Z
Lists: pgsql-hackers

Attachments

> >> Apparently it won't work at all if TMP isn't set?
> 
> > I'm not *too* concerned about that, since TMP is normally set by the
OS
> > itself. There's one set in the "system environment" (to
c:\windows\temp
> > or whatrever) and then it's overridden by one set by the OS when it
> > loads a user profile.
> 
> OK, then maybe not having it would be equivalent to /tmp-not-writable
> on Unix, ie, admin error.
> 
> > Also to the point, what would you fall back to?
> 
> Current directory maybe?

It tries \ (tested on Win 2000), if the dir argument is NULL and TMP is
not set.
But TMP is usually set. 

Attached is a working version not yet adapted to port/.
- memoryleak fixed
- use _tmpname and _fdopen not the compatibility tmpname and fdopen
(imho only cosmetic)
- EACCES fixed (Win2000 needs _S_IREAD | _S_IWRITE or fails with EACCES,
even as Admin)
- I suggest adding a prefix pg_temp_ (for leftover temp files after
crash, 
	the name I get is then usually pg_temp_2)

Andreas