Re: pg_ctl start broken on windows

Andrew Dunstan <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32
Message-ID <[email protected]>
Bruce Momjian wrote:

>Andrew Dunstan wrote:
>  
>
>>>>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.
>>>
>>> 
>>>
>>>      
>>>
>>I'll test to make sure, but I can tell you now it won't work. It will 
>>see the inner quotes and interpret them as part of the command. (I tried 
>>all these variants when I was testing initdb).
>>    
>>
>
>Claudio reported it worked for pg_dumpall for single quotes:
>
>	system(''cmd.exe' 'arg1' 'arg2'');
>
>What exactly is the logic of the stripping?
>
>In fact, pg_ctl is wrong because it is using double quotes instead of
>the safer single quotes.  Let me make that change.
>  
>

No. It chokes on forward slashes.

and it tries to make a log file called 'logfile' (quotes included).

I really don't see what the problem is with calling CreateProcess - it 
should only be a few lines of code unless I'm much mistaken, and would 
get us out of this setup that is really fragile at best.

cheers

andrew

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

               http://www.postgresql.org/docs/faqs/FAQ.html
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.