Re: PostgreSQL Service on Windows does not start. ~ "is not a valid Win32 application" - Mailing list pgsql-hackers

From Asif Naeem
Subject Re: PostgreSQL Service on Windows does not start. ~ "is not a valid Win32 application"
Date
Msg-id CAEB4t-ND-oA_eGF+KhMhOqvSD1+g_k=3hN=kOigii81k74DFuw@mail.gmail.com
Whole thread Raw
In response to PostgreSQL Service on Windows does not start. ~ "is not a valid Win32 application"  (Naoya Anzai <anzai-naoya@mxu.nes.nec.co.jp>)
Responses Re: PostgreSQL Service on Windows does not start. ~ "is not a valid Win32 application"  (Naoya Anzai <anzai-naoya@mxu.nes.nec.co.jp>)
List pgsql-hackers
Hi Naoya,

I am not able to reproduce the problem. Do you mean pg windows service installed by installer is not working or bin\pg_ctl binary is not accepting spaces in the patch ?. Following worked for me i.e.

C:\Users\asif\Desktop\Program files\9.3>"bin\pg_ctl" -D "C:\Users\asif\Desktop\Program files\9.3\data1" -l logfile start
server starting

Can you please share the exact steps ?. Thanks.

Regards,
Muhammad Asif Naeem



On Mon, Oct 28, 2013 at 10:26 AM, Naoya Anzai <anzai-naoya@mxu.nes.nec.co.jp> wrote:
Hi All,

I have found a case that PostgreSQL Service does not start.
When it happens, the following error appears.

 "is not a valid Win32 application"

This failure occurs when the following conditions are true.

1. There is "postgres.exe" in any directory that contains a space,
   such as "Program Files".

   e.g.)
   C:\Program Files\PostgreSQL\bin\postgres.exe

2. A file using the first white space-delimited
   tokens of that directory as the file name exists,
   and there is it in the same hierarchy.

   e.g.)
   C:\Program     //file

"pg_ctl.exe" as PostgreSQL Service creates a postgres
process using an absolute path which indicates the
location of "postgres.exe",but the path is not enclosed
in quotation.

Therefore,if the above-mentioned conditions are true,
CreateProcessAsUser(a Windows Function called by pg_ctl.exe)
tries to create a process using the other file such
as "Program", so the service fails to start.

Accordingly, I think that the command path should be
enclosed in quotation.

I created a patch to fix this failure,
So could anyone confirm?

Regards,

Naoya

---
Naoya Anzai
Engineering Department
NEC Soft, Ltd.
E-Mail: anzai-naoya@mxu.nes.nec.co.jp
---


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


pgsql-hackers by date:

Previous
From: Naoya Anzai
Date:
Subject: PostgreSQL Service on Windows does not start. ~ "is not a valid Win32 application"
Next
From: Ashutosh Bapat
Date:
Subject: Re: Example query causing param_info to be set in plain rel path