Re: PostgreSQL 9.2 beta1's pg_upgrade fails on Windows XP - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: PostgreSQL 9.2 beta1's pg_upgrade fails on Windows XP
Date
Msg-id 20120525131021.GA11374@momjian.us
Whole thread Raw
In response to Re: PostgreSQL 9.2 beta1's pg_upgrade fails on Windows XP  (Bruce Momjian <bruce@momjian.us>)
Responses Re: PostgreSQL 9.2 beta1's pg_upgrade fails on Windows XP  (Edmund Horner <ejrh00@gmail.com>)
List pgsql-bugs
On Thu, May 24, 2012 at 08:34:01PM -0400, Bruce Momjian wrote:
> On Fri, May 25, 2012 at 11:48:53AM +1200, Edmund Horner wrote:
> > It still fails (when run in verbose mode):
> >
> >     Creating catalog dump
> > ""c:\ehorner\pgsql\bin/pg_dumpall" --port 50432 --username "ehorner"
> > --schema-only --binary-upgrade --verbose > "pg_upgrade_dump_all.sql"
> > 2>> "pg_upgrade_utility.log""
> >     ok
> >     ""c:\ehorner\pgsql-old\bin/pg_ctl" -w -l "pg_upgrade_server2.log"
> > -D "c:\ehorner\pgdata-old" -o""  stop >> "pg_upgrade_server2.log"
> > 2>&1"
> >     The process cannot access the file because it is being used by
> > another process.
> >     *failure*
> >     There were problems executing """c:\ehorner\pgsql-old\bin/pg_ctl"
> > -w -l "pg_upgrade_server2.log" -D "c:\ehorner\pgdata-old" -o ""  stop
> > >> "pg_upgrade_server2.log" 2>&1""
>
> Bingo, this is exactly where I expected it to fail.   I am attaching a
> new, applied patch that creates files pg_upgrade_server_start.log and
> pg_upgrade_server_stop.log to log the pg_ctl start/stop stdout
> seperately.  This should fix the error.  Thanks so much for testing.  I
> believe someone will generate a new binary for testing.
>
> > I.e. I think pg_ctl wrote the last couple of lines, and then the two
> > cmd.exe were unable to write anything more since presumably it's still
> > open.
> >
> > So is this the problem you predicted above with pg_ctl stop?
>
> Yep, I think we are good now.  I never expected this behavior, but it
> now makes sense.

Ah, turns out I only need one extra log file on Windows, not two,
because I can reuse the utility file for pg_ctl stop.  The original
beta1 code usesd the utility file for pg_ctl stop and start, which is
what caused the problem.

Applied patch attached.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

Attachment

pgsql-bugs by date:

Previous
From: Thangalin
Date:
Subject: Re: pg_dump: SQL command failed
Next
From: karthik ananth
Date:
Subject: Re: BUG #6664: Postgres server process does not come up in foreground and parent process is set to init ( PID 1 )