Thread: Where is my app installed?
After installing PostgreSQL on my Debian-12 machine, I typed 'postgres --version' and got this msg:
bash: postgres: command not found
'psql --version', however, does work and gives me this message :
psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)
Obviously postgres is not in the path, but I don't know where the 'apt-get' installed it or why it did not add it to the path.
Is there a way I can locate the installation directory?
Thank in advance.
--
ArbolOne.ca Using Fire Fox and Thunderbird. ArbolOne is composed of students and volunteers dedicated to providing free services to charitable organizations. ArbolOne on Java Development is in progress [ í ]
ArbolOne.ca Using Fire Fox and Thunderbird. ArbolOne is composed of students and volunteers dedicated to providing free services to charitable organizations. ArbolOne on Java Development is in progress [ í ]
On 8/22/24 17:36, Arbol One wrote: > After installing PostgreSQL on my Debian-12 machine, I typed 'postgres > --version' and got this msg: > *bash: postgres: command not found* > > 'psql --version', however, does work and gives me this message : > > *psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)* > > Obviously postgres is not in the path, but I don't know where the > 'apt-get' installed it or why it did not add it to the path. > > Is there a way I can locate the installation directory? As to where the postgres command is: ls -al /usr/lib/postgresql/16/bin/ [...] -rwxr-xr-x 1 root root 10338808 Aug 7 06:13 postgres* [...] Why do you want to use postgres directly? > > Thank in advance. > > -- > */ArbolOne.ca/* Using Fire Fox and Thunderbird. ArbolOne is composed of > students and volunteers dedicated to providing free services to > charitable organizations. ArbolOne on Java Development is in progress [ í ] -- Adrian Klaver adrian.klaver@aklaver.com
On Thu, 2024-08-22 at 20:36 -0400, Arbol One wrote:
After installing PostgreSQL on my Debian-12 machine, I typed 'postgres --version' and got this msg:bash: postgres: command not found'psql --version', however, does work and gives me this message :psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)Obviously postgres is not in the path, but I don't know where the 'apt-get' installed it or why it did not add it to the path.Is there a way I can locate the installation directory?Thank in advance.
find / -name postgres
or
dpkg-query -L postgresql-16 | grep 'bin/postgres$'
You wouldn't normally invoke the server from the command line, so it doesn't need to be in anyone's path.
Adrian Klaver <adrian.klaver@aklaver.com> writes: > On 8/22/24 17:36, Arbol One wrote: >> After installing PostgreSQL on my Debian-12 machine, I typed 'postgres >> --version' and got this msg: >> *bash: postgres: command not found* >> 'psql --version', however, does work and gives me this message : >> *psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)* >> Obviously postgres is not in the path, but I don't know where the >> 'apt-get' installed it or why it did not add it to the path. > As to where the postgres command is: > ls -al /usr/lib/postgresql/16/bin/ Theory 1: postgres is packaged in a "postgresql-server" package and the OP only installed the base (client-side) package. Theory 2: postgres is installed into some directory not in the OP's PATH, such as /usr/sbin. Since it's primarily used as a daemon, this'd be a reasonable thing for a packager to do. I'd bet a nickel on #1, though, because I've not seen too many packagers put postgres somewhere other than where they put psql. "Separate server package" is extremely common though. regards, tom lane
On 8/22/24 19:21, Tom Lane wrote: > Adrian Klaver <adrian.klaver@aklaver.com> writes: >> On 8/22/24 17:36, Arbol One wrote: >>> After installing PostgreSQL on my Debian-12 machine, I typed 'postgres >>> --version' and got this msg: >>> *bash: postgres: command not found* >>> 'psql --version', however, does work and gives me this message : >>> *psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)* >>> Obviously postgres is not in the path, but I don't know where the >>> 'apt-get' installed it or why it did not add it to the path. > >> As to where the postgres command is: >> ls -al /usr/lib/postgresql/16/bin/ > > Theory 1: postgres is packaged in a "postgresql-server" package > and the OP only installed the base (client-side) package. > > Theory 2: postgres is installed into some directory not in the OP's > PATH, such as /usr/sbin. Since it's primarily used as a daemon, > this'd be a reasonable thing for a packager to do. Yes in: ls -al /usr/lib/postgresql/16/bin/ > > I'd bet a nickel on #1, though, because I've not seen too many > packagers put postgres somewhere other than where they put psql. > "Separate server package" is extremely common though. Correct. The missing part is that in Debian/Ubuntu packaging when you use psql you are actually doing: ls -al /usr/bin/psql lrwxrwxrwx 1 root root 37 Aug 8 07:37 /usr/bin/psql -> ../share/postgresql-common/pg_wrapper The Debian packaging routes most things through pg_wrapper/postgresql-common a Perl script that does the magic of finding the correct binaries for each Postgres version. > > regards, tom lane -- Adrian Klaver adrian.klaver@aklaver.com
Hi Arbol,
Try to find any binary e.g.
find /usr -name pg_ctl
/usr/local/pgsql/bin/pg_ctl
/usr/lib/postgresql/16/bin/pg_ctl
/usr/local/pgsql/bin/pg_ctl
/usr/lib/postgresql/16/bin/pg_ctl
find /usr -name psql
/usr/bin/psql
/usr/local/pgsql/bin/psql
/usr/lib/postgresql/16/bin/psql
/usr/bin/psql
/usr/local/pgsql/bin/psql
/usr/lib/postgresql/16/bin/psql
Later you may create a symlink or add in PATH.
Hope this helps.
Regards,
Ikram
On Fri, Aug 23, 2024 at 7:43 AM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 8/22/24 19:21, Tom Lane wrote:
> Adrian Klaver <adrian.klaver@aklaver.com> writes:
>> On 8/22/24 17:36, Arbol One wrote:
>>> After installing PostgreSQL on my Debian-12 machine, I typed 'postgres
>>> --version' and got this msg:
>>> *bash: postgres: command not found*
>>> 'psql --version', however, does work and gives me this message :
>>> *psql (PostgreSQL) 16.3 (Debian 16.3-1.pgdg120+1)*
>>> Obviously postgres is not in the path, but I don't know where the
>>> 'apt-get' installed it or why it did not add it to the path.
>
>> As to where the postgres command is:
>> ls -al /usr/lib/postgresql/16/bin/
>
> Theory 1: postgres is packaged in a "postgresql-server" package
> and the OP only installed the base (client-side) package.
>
> Theory 2: postgres is installed into some directory not in the OP's
> PATH, such as /usr/sbin. Since it's primarily used as a daemon,
> this'd be a reasonable thing for a packager to do.
Yes in:
ls -al /usr/lib/postgresql/16/bin/
>
> I'd bet a nickel on #1, though, because I've not seen too many
> packagers put postgres somewhere other than where they put psql.
> "Separate server package" is extremely common though.
Correct. The missing part is that in Debian/Ubuntu packaging when you
use psql you are actually doing:
ls -al /usr/bin/psql
lrwxrwxrwx 1 root root 37 Aug 8 07:37 /usr/bin/psql ->
../share/postgresql-common/pg_wrapper
The Debian packaging routes most things through
pg_wrapper/postgresql-common a Perl script that does the magic of
finding the correct binaries for each Postgres version.
>
> regards, tom lane
--
Adrian Klaver
adrian.klaver@aklaver.com
Muhammad Ikram
On 8/22/24 21:57, Muhammad Ikram wrote: > Hi Arbol, > > Try to find any binary e.g. > > find /usr -name pg_ctl > /usr/local/pgsql/bin/pg_ctl > /usr/lib/postgresql/16/bin/pg_ctl > > find /usr -name psql > /usr/bin/psql > /usr/local/pgsql/bin/psql > /usr/lib/postgresql/16/bin/psql > > > Later you may create a symlink or add in PATH. > Hope this helps. No what you want to do is read: man pg_wrapper and the other Debian specific commands man pg_lscluster, pg_ctlcluster, pg_dropcluster, etc. Learn what the packaging provides instead of fighting it. > > > Regards, > Ikram > > > > > Muhammad Ikram > -- Adrian Klaver adrian.klaver@aklaver.com
Thanks everyone, the issue was resolved.
--
ArbolOne.ca Using Fire Fox and Thunderbird. ArbolOne is composed of students and volunteers dedicated to providing free services to charitable organizations. ArbolOne on Java Development is in progress [ í ]
ArbolOne.ca Using Fire Fox and Thunderbird. ArbolOne is composed of students and volunteers dedicated to providing free services to charitable organizations. ArbolOne on Java Development is in progress [ í ]