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

From Tom Lane
Subject Re: [Win32] Problem with rename()
Date
Msg-id 13220.1145371858@sss.pgh.pa.us
Whole thread Raw
In response to Re: [Win32] Problem with rename()  ("Peter Brant" <Peter.Brant@wicourts.gov>)
Responses Re: [Win32] Problem with rename()  ("Peter Brant" <Peter.Brant@wicourts.gov>)
List pgsql-bugs
"Peter Brant" <Peter.Brant@wicourts.gov> writes:
> 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:
> ...
> The second is similar, except that two postgres.exe processes (and
> nothing else) have the file open:

Hmm, could these be backends that have been sitting idle for some time?
I'd expect a backend to be holding open a handle for whichever WAL
segment it last wrote to.  If the backend sits idle for a couple of
checkpoints while others are advancing the end of WAL, then that segment
could become a target for renaming.

The only workable fix I can think of is to allow the checkpointer to
simply fail to rename this segment and go on about its business,
figuring that we'll be able to rename/delete the WAL segment in some
future checkpoint cycle.  Not sure how messy that would be to implement.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: [Win32] Problem with rename()
Next
From: Tom Lane
Date:
Subject: Re: [Win32] Problem with rename()