Thread: BUG #2993: The program "postgres" is needed by initdb but was not found ...

BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
"Filippo Toso"
Date:
The following bug has been logged online:

Bug reference:      2993
Logged by:          Filippo Toso
Email address:      filippotoso@libero.it
PostgreSQL version: 8.2.3
Operating system:   Windows 2000 SP4
Description:        The program "postgres" is needed by initdb but was not
found ...
Details:

Hi,
I have downloaded the postgresql-8.2.3-1-binaries-no-installer.zip package.

I have extracted it into C:\pgsql, I have created the C:\pgsql\data and then
I have executed the following command (as Administrator):

C:\pgsql\bin\initdb.exe -D C:\pgsql\data

With the following result:

###########################################################################
The program "postgres" is needed by initdb but was not found in the
same directory as "C:/pgsql/bin/initdb.exe".
Check your installation.
###########################################################################

The "postgres" command is in the "C:/pgsql/bin/" folder and if I execute
"C:\pgsql\bin\postgres.exe -V" I get:

postgres (PostgreSQL) 8.2.3

If I execute the same command as a low privileged user initdb works
correctly.

Accordingly to the initdb.c CVS log this problem should have been solved one
year ago with Revision 1.108.

Do you think this is a bug or there is something I'm doing wrong?

Sincerely,
Filipo Toso

Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
Magnus Hagander
Date:
Filippo Toso wrote:
> The following bug has been logged online:
>
> Bug reference:      2993
> Logged by:          Filippo Toso
> Email address:      filippotoso@libero.it
> PostgreSQL version: 8.2.3
> Operating system:   Windows 2000 SP4
> Description:        The program "postgres" is needed by initdb but was not
> found ...
> Details:
>
> Hi,
> I have downloaded the postgresql-8.2.3-1-binaries-no-installer.zip package.
>
> I have extracted it into C:\pgsql, I have created the C:\pgsql\data and then
> I have executed the following command (as Administrator):
>
> C:\pgsql\bin\initdb.exe -D C:\pgsql\data
>
> With the following result:
>
> ###########################################################################
> The program "postgres" is needed by initdb but was not found in the
> same directory as "C:/pgsql/bin/initdb.exe".
> Check your installation.
> ###########################################################################
>
> The "postgres" command is in the "C:/pgsql/bin/" folder and if I execute
> "C:\pgsql\bin\postgres.exe -V" I get:
>
> postgres (PostgreSQL) 8.2.3
>
> If I execute the same command as a low privileged user initdb works
> correctly.
>
> Accordingly to the initdb.c CVS log this problem should have been solved one
> year ago with Revision 1.108.
>
> Do you think this is a bug or there is something I'm doing wrong?

Can you check the permissions on your pgsql directory? If your account
only has permissions through the admin or power users group, you will
need to grant it explicit permissions (since it gives up admin and power
users when it starts)

//Magnus

Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
"Filippo Toso"
Date:
Dear Magnus,

> Can you check the permissions on your pgsql directory? If your account
> only has permissions through the admin or power users group, you will
> need to grant it explicit permissions (since it gives up admin and power
> users when it starts)
>
> //Magnus

The pgsql directory privileges are set to Everyone (Full Control).

Sincerely,
Filippo Toso

Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
Magnus Hagander
Date:
On Mon, Feb 12, 2007 at 09:08:11PM +0100, Filippo Toso wrote:
> Dear Magnus,
>
> > Can you check the permissions on your pgsql directory? If your account
> > only has permissions through the admin or power users group, you will
> > need to grant it explicit permissions (since it gives up admin and power
> > users when it starts)
> >
> > //Magnus
>
> The pgsql directory privileges are set to Everyone (Full Control).

Hmm. Bummer. I really thought that was it. Can you check the full
directory tree up to the root directory as well, to see if there's
someplace else there where the user couldn't get in withotu admin/pu?

//Magnus

Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
Magnus Hagander
Date:
On Wed, Feb 14, 2007 at 01:49:43PM +0100, Filippo Toso wrote:
> Dear Magnus,
>
> > > The pgsql directory privileges are set to Everyone (Full Control).
> >
> > Hmm. Bummer. I really thought that was it. Can you check the full
> > directory tree up to the root directory as well, to see if there's
> > someplace else there where the user couldn't get in withotu admin/pu?
>
> The directory structure is the following:
>
> C:\pgsql\bin\initdb.exe
> C:\pgsql\bin\postgres.exe
>
> I have logged out and re-logged in as an user of Users group. As this user I
> can create/edit/delete all the files and directories in all the folders and
> subfolders of C:\pgsql\, I can start C:\pgsql\bin\initdb.exe and it works
> perfectly. If I try to do the same as Administrator, it fails.

This sounds a lot like the user is getting the permissions through
Administrators or Power Users. Note that Administrators !=
Administrator. If permissions are set with the group only, you will get
the error.

//Magnus

Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...

From
"Filippo Toso"
Date:
Dear Magnus,

> > The pgsql directory privileges are set to Everyone (Full Control).
>
> Hmm. Bummer. I really thought that was it. Can you check the full
> directory tree up to the root directory as well, to see if there's
> someplace else there where the user couldn't get in withotu admin/pu?

The directory structure is the following:

C:\pgsql\bin\initdb.exe
C:\pgsql\bin\postgres.exe

I have logged out and re-logged in as an user of Users group. As this user I
can create/edit/delete all the files and directories in all the folders and
subfolders of C:\pgsql\, I can start C:\pgsql\bin\initdb.exe and it works
perfectly. If I try to do the same as Administrator, it fails.

Sincerely,
Filippo Toso