On Wed, Aug 29, 2007 at 08:57:55AM -0400, Andrew Dunstan wrote:
> Yoshiyuki Asaba wrote:
> >>I have compiled PostgreSQL 8.2.4 with MinGW on Windows 2000. Then I
> >>have executed initdb as Administrator. However initdb failed with the
> >>following message.
> >>The program "postgres" is needed by initdb but was not found in the
> >>same directory as "C:\msys\1.0\local\pgsql\bin/initdb".
> >>Check your installation.
> >>So, I have debugged initdb.exe. I found that CreatePipe() was failed
> >>with ERROR_ACCESS_DENIED in exec.c:pipe_read_line().
> >The attached files are test programs.
> > % gcc -o child.exe child.c
> > % gcc -o parent.exe parent.c
> >When parent.exe is executed by Power Users or Users, the result is
> >good. However, CreatePipe() is failed when Administrator do.
> > % ./parent.exe
> > CreatePipe() failed: 5
> What do you want us to do about it? Isn't this a case of "don't do that,
> then"? Run initdb as some other user. We don't let you run initdb as
> root on Unix, so we're just being consistent. In fact, we're being more
> liberal on Windows than on Unix because we make some provision for the
> restricted token gadget.
FWIW, I regularly run initdb as administrator, and it works perfectly fine.
So what you need to do is to try to figure out *why* CreatePipe() fails.
Process Monitor or a debugger might help.
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?