The fix will appear in 7.3:
#if !defined(__BEOS__) && !defined(N_PLAT_NLM) && !defined(__CYGWIN__)
if (link(tmppath, path) < 0)
elog(PANIC, "link from %s to %s (initialization of log file %u, segment %u) failed: %m",
tmppath, path, log, seg);
unlink(tmppath);
We could have back-patched this into 7.2.2, but one thought of it. Sorry.
---------------------------------------------------------------------------
Henshall, Stuart - WCP wrote:
> In the recently released 7.2.2 there is still the problem that this patch
> solved:
> http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00053.php
> Here is a patch against 7.2.2 to resolve it:
> *** src/backend/access/transam/xlog.c.orig Fri Mar 15 19:20:42 2002
> --- src/backend/access/transam/xlog.c Mon Jun 09 13:05:26 2002
> ***************
> ** 1506,1512 ****
> * overwrite an existing logfile. However, there shouldn't be one,
> so
> * rename() is an acceptable substitute except for the truly
> paranoid.
> */
> ! #ifndef __BEOS__
> if (link(tmppath, path) < 0)
> elog(STOP, "link from %s to %s (initialization of log file
> %u, segment %u) failed: %m",
> tmppath, path, log, seg);
> --- 1506,1512 ----
> * overwrite an existing logfile. However, there shouldn't be one,
> so
> * rename() is an acceptable substitute except for the truly
> paranoid.
> */
> ! #if !defined(__BEOS__) && !defined(__CYGWIN__)
> if (link(tmppath, path) < 0)
> elog(STOP, "link from %s to %s (initialization of log file
> %u, segment %u) failed: %m",
> tmppath, path, log, seg);
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073