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:
>  
>
>>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.
>
>  
>

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).

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match
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.