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.
cheers
andrew