Re: pg_ctl start broken on windows
От | Andrew Dunstan |
---|---|
Тема | Re: pg_ctl start broken on windows |
Дата | |
Msg-id | 40C751F1.3000008@dunslane.net обсуждение исходный текст |
Ответ на | Re: pg_ctl start broken on windows (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: pg_ctl start broken on windows
Re: pg_ctl start broken on windows |
Список | pgsql-hackers-win32 |
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
В списке pgsql-hackers-win32 по дате отправления: