Re: pg_ctl start broken on windows

Bruce Momjian <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32
Message-ID <[email protected]>
Andrew Dunstan wrote:
> 
> As I feared might happen, the use of a system() call to start the 
> postmaster in Windows is broken because of the brain dead way its shell 
> handles quotes.  I was able to get around this in initdb by making sure 
> that only one thing on the command line was quoted (by putting PGDATA in 
> the environment instead of the command line). We can't do that here ;-( 
> . Here's what happens:
> 
> C:\msys\1.0\local\pgsql>bin\pg_ctl -D data -l logfile start
> 'C:/msys/1.0/local/pgsql/bin/postmaster.exe"  < nul >>"logfile' is not recognized as an internal or external command, operable program or batch file.
> 
> 
> I think we'll have to bite the bullet and replace that system() call 
> with a direct call to CreateProcess() with the appropriate parameters. I 
> haven't ever done this, so some help from one of the more experienced 
> Windows programmers would be appreciated.

Yes, I assumed pg_ctl would have such issues.  pg_dumpall has them as
well calling pg_dump.

Here is a strange idea that I am looking for someone to check. According
to someone, Win32 system just strips off the first and last quotes, and
that is why it is failing.  Try adding a quote to the beginning and end
of the system string, and leave the existing quote intact.  That might
fix is and if it does I can add this to CVS.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [email protected]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.