Peter Brant wrote:
> Hi all,
> 
> In the last couple of days, we've been bitten (a couple of times, on
> different servers) by an apparent glitch or bad interaction in the
> Windows implementation of rename().
> 
> The relevant log message is:
> 
> [2006-04-17 16:49:22.583 ] 2252 LOG:  could not rename file
> "pg_xlog/000000010000010A000000BD" to
> "pg_xlog/000000010000010A000000D7", continuing to try
> 
> It apparently just keeps on looping indefinitely.  The "completed
> rename" message from port/dirmod.c never shows up.
> 
> Shortly thereafter, Postgres becomes unresponsive.  Attempts to make a
> new connection just block.  Autovacuums block.  A "pg_ctl ... stop -m
> fast" doesn't work.  Only "pg_ctl ... stop -m immediate" does.
> 
> With the last occurrence, I saved off the output of "handle -a" and
> "pslist -x" in case that's helpful.  
> 
> Any thoughts on what might be going wrong?  If it happens again, what
> other clues should I be looking for?

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.

-- 
  Bruce Momjian   http://candle.pha.pa.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to