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 по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_ctl start broken on windows
Следующее
От: "Gary Doades"
Дата:
Сообщение: Re: pg_ctl start broken on windows