pg_ctl still pointing to 9.5.4 after upgrade to postgres 10 [closed]
-
07-01-2021 - |
Question
I have updated postgres from 9.5.4 to the latest 10.4 on Ubuntu 14.
But after installing postgres 10 I am seeing
support@platform1:/usr/bin$ ls -lah pg_ctl
lrwxrwxrwx 1 root root 34 Jun 13 08:59 pg_ctl -> /usr/lib/postgresql/9.5/bin/pg_ctl
The issue appears similar to the one discussed here. I cannot use the answer mentioned there as there is a DB in use. So I have to keep 9.5 also installed along with 10 till data migration is performed as pg_upgrade
needs both 9.5 & 10 binaries to perform the migration.
To install postgres 10 I have followed the below steps:-
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-10
Then performed the data migration using pg_upgrade
and then removed postgres 9.5
pg_ctl
is not working as it is pointing to the old 9.5 installation which has been deleted now.
posgres -V
is also failing with the below error
support@platform1:/usr/bin$ postgres -V
The program 'postgres' is currently not installed. You can install it by typing:
sudo apt-get install postgres-xc
Can someone let me know what is wrong and how can I fix it?
Solution
Yeah once you have upgraded the Postgresql, still your environment PATH points to the Old path. Do the following things.
For eg: Your pg_ctl for PG10 might be located in /usr/share/pg10/bin/pg_ctl
.
So you need to export this Path.
export PATH=/usr/share/pg10/bin/$PATH
And, remove the older version then logout and login.
OTHER TIPS
If installing from the Postgres APT repository, you should be using pg_ctlcluster
as it is aware of multiple versions installed simultaneously.
In addition, postgres
is not installed in a location that is in the default PATH. This is by design; end-users don't need to run it, as it's started and stopped by pg_ctlcluster
.