Re: [Win32] Problem with rename() - Mailing list pgsql-bugs

From Peter Brant
Subject Re: [Win32] Problem with rename()
Date
Msg-id 4444AE18020000BE00002F1F@gwmta.wicourts.gov
Whole thread Raw
In response to Re: [Win32] Problem with rename()  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: [Win32] Problem with rename()  ("Harald Armin Massa" <haraldarminmassa@gmail.com>)
Re: [Win32] Problem with rename()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Unfortunately, it's not that simple.  It would be straightforward to
track down if it were.

In response to other questions:

It's Postgres 8.1.3 running on Windows 2003 Server.  No anti-virus
software is installed.  The servers are essentially bare except for the
OS and Postgres.

We have "handle -a" output from two occurrences (different servers):

For the first one:

LOG:  could not rename file "pg_xlog/000000010000010A000000BD" to
"pg_xlog/000000010000010A000000D7", continuing to try

Only one process (postgres.exe) is holding a handle to
pg_xlog/000000010000010A000000BD:

  F84: Event         \BaseNamedObjects\pgident: postgres: bigbird
bigbird 127.0.0.1(3306) BIND
  FF4: File          G:\pgsql\data\pg_xlog\000000010000010A000000BD

Nothing has the target file open.

The second is similar, except that two postgres.exe processes (and
nothing else) have the file open:

LOG:  could not rename file "pg_xlog/000000010000010A0000006E" to
"pg_xlog/000000010000010A00000087", continuing to try

#1:
  F84: Event         \BaseNamedObjects\pgident: postgres: bigbird
bigbird 127.0.0.1(2367) SELECT
  EFC: File          G:\pgsql\data\pg_xlog\000000010000010A0000006E

#2:
  F84: Event         \BaseNamedObjects\pgident: postgres: bigbird
bigbird 127.0.0.1(2420) SELECT
  FF4: File          G:\pgsql\data\pg_xlog\000000010000010A0000006E

Nothing has the target file open.

Pete

>>> Bruce Momjian <pgman@candle.pha.pa.us> 04/18/06 2:58 am >>>
Yes, comment I added to dirmod.c give a hint:

    /*
     * We need these loops because even though PostgreSQL uses flags
that
     * allow rename while the file is open, other applications might
have
     * these files open without those flags.
     */

so someone else has the file opened, but didn't use the required flags.

As to what could have it open, I don't know.

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [martin@bugs.unl.edu.ar: BUG in logs]
Next
From: "Harald Armin Massa"
Date:
Subject: Re: [Win32] Problem with rename()