On 8/22/24 19:21, Tom Lane wrote:
Adrian Klaver <adrian.klaver@xxxxxxxxxxx> 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@xxxxxxxxxxx