Re: New User: PostgreSQL Setup - "The Program 'postgress' is needed by initdb but was not found in the same directory..." - Mailing list pgsql-general

From Tom Lane
Subject Re: New User: PostgreSQL Setup - "The Program 'postgress' is needed by initdb but was not found in the same directory..."
Date
Msg-id 16667.1324328480@sss.pgh.pa.us
Whole thread Raw
In response to Re: New User: PostgreSQL Setup - "The Program 'postgress' is needed by initdb but was not found in the same directory..."  (Patrick Kevin McCaffrey <pkm@uwm.edu>)
List pgsql-general
Patrick Kevin McCaffrey <pkm@uwm.edu> writes:
>> I'm following the instructions that come with the source, and am stuck on this line:
>> /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
>> When I run it, I get the following:
>> sh: cannot create /dev/null: Permission denied

> This line suggests that your environment is broken - the chroot container hasn't been set up fully.

>> fgets failure: Success

> This isn't good, either. I'm suspicious of your lxc chroot.

>> The program "postgres" is needed by initdb but was not found in the
>> same directory as "/usr/local/pgsql/bin/initdb".

> This suggests that your build broke. Is there a /usr/local/pgsql/bin/postgres binary?

I think nobody pointed out yet that those last two messages are almost
certainly direct results of the first one.  initdb tries to verify that
the postgres binary is of a matching version by doing (more or less,
this isn't cut-and-pasted from the sources)

    system("postgres -V 2>/dev/null")

and seeing what version string it gets back.  If /dev/null isn't
writable inside your LXC chroot, then the shell will fail to execute
that command (producing the first error message), and what initdb will
get back is only an empty string, which I think explains the "fgets"
whinge and definitely explains the wrong-version complaint.

            regards, tom lane

pgsql-general by date:

Previous
From: Havasvölgyi Ottó
Date:
Subject: Re: fsync on ext4 does not work
Next
From: Havasvölgyi Ottó
Date:
Subject: Re: fsync on ext4 does not work