Hi, From: Magnus Hagander <[EMAIL PROTECTED]> Subject: Re: [HACKERS] initdb failed on Windows 2000 Date: Thu, 30 Aug 2007 10:14:45 +0200
> 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. Hmm... I found the same report. http://archives.postgresql.org/pgsql-bugs/2007-02/msg00083.php > So what you need to do is to try to figure out *why* CreatePipe() fails. > Process Monitor or a debugger might help. OK, I'll try it. Thank you! -- Yoshiyuki Asaba [EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster