Thread: BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 15265 Logged by: Mohammed Shahid Nawaz Email address: mohammedshahid.r@gmail.com PostgreSQL version: 10.4 Operating system: CentOS7 Description: Hello, I am new to this forum, i am facing this issue, where i get the below error. sudo -u shahid ./pg_ctl -D /root/pgsql10x/data/ initdb invalid binary "/root/pgsql10x/bin/pg_ctl" invalid binary "/root/pgsql10x/bin/pg_ctl" invalid binary "/root/pgsql10x/bin/pg_ctl" The program "initdb" is needed by pg_ctl but was not found in the same directory as "pg_ctl". Check your installation. FYI , I am trying to run this from root. I have built from the source. I am trying version 10. on CentOS7. I downloaded direct from postgres site. I am not facing this problem when i run as non-root user. I have all the files in the bin directory, as shared below , bin directory files -rwxrwxrwx. 1 shahid shahid 7604946 Jul 6 17:19 postgres lrwxrwxrwx. 1 shahid shahid 8 Jul 6 17:19 postmaster -> postgres -rwxr-xr-x. 1 shahid shahid 908965 Jul 6 17:19 ecpg -rwxr-xr-x. 1 shahid shahid 128690 Jul 6 17:19 initdb -rwxr-xr-x. 1 shahid shahid 30548 Jul 6 17:19 pg_archivecleanup -rwxr-xr-x. 1 shahid shahid 112608 Jul 6 17:19 pg_basebackup -rwxr-xr-x. 1 shahid shahid 71241 Jul 6 17:19 pg_receivewal -rwxr-xr-x. 1 shahid shahid 72771 Jul 6 17:19 pg_recvlogical -rwxr-xr-x. 1 shahid shahid 30009 Jul 6 17:19 pg_config -rwxr-xr-x. 1 shahid shahid 39920 Jul 6 17:19 pg_controldata -rwxr-xr-x. 1 shahid shahid 58438 Jul 6 17:19 pg_ctl -rwxr-xr-x. 1 shahid shahid 400623 Jul 6 17:19 pg_dump -rwxr-xr-x. 1 shahid shahid 164991 Jul 6 17:19 pg_restore -rwxr-xr-x. 1 shahid shahid 97686 Jul 6 17:19 pg_dumpall -rwxr-xr-x. 1 shahid shahid 49138 Jul 6 17:19 pg_resetwal -rwxr-xr-x. 1 shahid shahid 88205 Jul 6 17:19 pg_rewind -rwxr-xr-x. 1 shahid shahid 31798 Jul 6 17:19 pg_test_fsync -rwxr-xr-x. 1 shahid shahid 26337 Jul 6 17:19 pg_test_timing -rwxr-xr-x. 1 shahid shahid 130515 Jul 6 17:19 pg_upgrade -rwxr-xr-x. 1 shahid shahid 86270 Jul 6 17:19 pg_waldump -rwxr-xr-x. 1 shahid shahid 141273 Jul 6 17:19 pgbench -rwxr-xr-x. 1 shahid shahid 454216 Jul 6 17:19 psql -rwxr-xr-x. 1 shahid shahid 60635 Jul 6 17:19 createdb -rwxr-xr-x. 1 shahid shahid 56335 Jul 6 17:19 dropdb -rwxr-xr-x. 1 shahid shahid 64416 Jul 6 17:19 createuser -rwxr-xr-x. 1 shahid shahid 56305 Jul 6 17:19 dropuser -rwxr-xr-x. 1 shahid shahid 61135 Jul 6 17:19 clusterdb -rwxr-xr-x. 1 shahid shahid 68735 Jul 6 17:19 vacuumdb -rwxr-xr-x. 1 shahid shahid 64047 Jul 6 17:19 reindexdb -rwxr-xr-x. 1 shahid shahid 59104 Jul 6 17:19 pg_isready Requesting help at the earliest. Thanks in advance, Shahid
Re: BUG #15265: The program "initdb" is needed by pg_ctl but was not found in the same directory as "pg_ctl".
From
Tom Lane
Date:
=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes: > sudo -u shahid ./pg_ctl -D /root/pgsql10x/data/ initdb > invalid binary "/root/pgsql10x/bin/pg_ctl" I think you would get that error if pg_ctl is unable to stat itself, which might be due to a permissions problem. Are you sure the shahid user can read/exec all the directories in that path (particularly /root)? regards, tom lane
Re: BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
From
Mohammed Shahid Nawaz
Date:
Hi Tom,
Thanks for the quick response.
The same build and, the same command works fine on a non-root user.
Since, this time i am running from a root login, the command i use is as follows.
su - shahid -c '/root/pgsql10x/bin/pg_ctl -D /root/pgsql10x/data/ initdb'
The bin folder has 777 permission with the owner being shahid here.
If you see my post I have shared the ls-lrt output for reference.
I have been using the same command for my earlier 9.6.3 version of build, and it worked without any trouble.
Thanks again,
Mohammed Shahid Nawaz
On Sat 7 Jul, 2018, 1:32 AM Tom Lane, <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:
> sudo -u shahid ./pg_ctl -D /root/pgsql10x/data/ initdb
> invalid binary "/root/pgsql10x/bin/pg_ctl"
I think you would get that error if pg_ctl is unable to stat itself,
which might be due to a permissions problem. Are you sure the shahid
user can read/exec all the directories in that path (particularly /root)?
regards, tom lane
Re: BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
From
Mohammed Shahid Nawaz
Date:
Hello Everyone,
Can anyone help me with this issue? As this is being a road block for me, where I am able to run the commands in non-root login, but not from root with sudo or su command.
Requesting help at the earliest.
Thanks in Advance. I
Shahid
On Sat 7 Jul, 2018, 11:30 AM Mohammed Shahid Nawaz, <mohammedshahid.r@gmail.com> wrote:
Hi Tom,Thanks for the quick response.The same build and, the same command works fine on a non-root user.Since, this time i am running from a root login, the command i use is as follows.su - shahid -c '/root/pgsql10x/bin/pg_ctl -D /root/pgsql10x/data/ initdb'The bin folder has 777 permission with the owner being shahid here.If you see my post I have shared the ls-lrt output for reference.I have been using the same command for my earlier 9.6.3 version of build, and it worked without any trouble.Thanks again,Mohammed Shahid NawazOn Sat 7 Jul, 2018, 1:32 AM Tom Lane, <tgl@sss.pgh.pa.us> wrote:PG Bug reporting form <noreply@postgresql.org> writes:
> sudo -u shahid ./pg_ctl -D /root/pgsql10x/data/ initdb
> invalid binary "/root/pgsql10x/bin/pg_ctl"
I think you would get that error if pg_ctl is unable to stat itself,
which might be due to a permissions problem. Are you sure the shahid
user can read/exec all the directories in that path (particularly /root)?
regards, tom lane
Re: BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
From
"Aaron W. Swenson"
Date:
On 2018-07-09 14:24, Mohammed Shahid Nawaz wrote: > Hello Everyone, > Can anyone help me with this issue? As this is being a road block for me, > where I am able to run the commands in non-root login, but not from root > with sudo or su command. > Requesting help at the earliest. > Thanks in Advance. I > > Shahid It’s probably because /root has its access restricted to just the root user, so the shahid user can’t get past that first part of the path. Further, it’s atypical to allow users to do anything inside /root. You should probably work under /usr/local or in /home/shahid/.
Attachment
Re: BUG #15265: The program "initdb" is needed by pg_ctl but was notfound in the same directory as "pg_ctl".
From
Mohammed Shahid Nawaz
Date:
Hello Aaron,
Talking about the restrictions, I have given permissions to user Shahid, as equivalent to root by editing the sudoers file.
I did not face this issue in earlier versions and the same setup and command steps worked flawlessly.
I have even given su permission for user shahid to run su commands.
This was never the case with 9.6.3.
I have been running for past 1yr from root by using su / sudo commands to initdb and start the database.
Thanks
Shahid
On Mon 9 Jul, 2018, 3:24 PM Aaron W. Swenson, <titanofold@gentoo.org> wrote:
On 2018-07-09 14:24, Mohammed Shahid Nawaz wrote:
> Hello Everyone,
> Can anyone help me with this issue? As this is being a road block for me,
> where I am able to run the commands in non-root login, but not from root
> with sudo or su command.
> Requesting help at the earliest.
> Thanks in Advance. I
>
> Shahid
It’s probably because /root has its access restricted to just the root
user, so the shahid user can’t get past that first part of the path.
Further, it’s atypical to allow users to do anything inside /root. You should
probably work under /usr/local or in /home/shahid/.