Sur Ubuntu 14.04, je l’ai fait pour obtenir le dernier postgres:
Sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | Sudo apt-key add -
Sudo apt-get update
Sudo apt-get upgrade
Puis j'ai installé la version 9.4:
Sudo apt-get install postgresql-9.4
Cependant, il semble que j'ai maintenant trois versions:
Sudo service postgresql stop
* Stopping PostgreSQL 9.3 database server [ OK ]
* Stopping PostgreSQL 9.4 database server [ OK ]
* Stopping PostgreSQL 9.5 database server [ OK ]
Comment puis-je ne garder que 9.4 et désinstaller les autres? Merci
PDATE:
Comme suggéré dans les commentaires, j'ai désinstallé les versions 9.3 et 9.5.
Mais quand je fais ça:
Sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Jusqu'ici tout va bien, mais quand je passe à postgres:
Sudo su postgres
et faire un psql, je reçois une erreur:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Différentes versions de PostgreSQL sont situées dans les packages postgresql-9. *.
Donc, vous devriez supprimer vos deux paquets:
Sudo apt-get purge postgresql-9.3 postgresql-9.5
Ensuite, vous devez supprimer les dossiers de configuration inutiles:
rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
Et à partir de/var/lib/folder si vous avez:
/var/lib/postgresql/*
J'espère que cela vous aidera.
Ajouter la réponse très tard mais pourrait aider les gens ici.
Réponse courte: Une erreur indique que postgres est configuré sur un mauvais port (et non par défaut). Utilisez le bon port
Réponse longue: Lorsque vous avez installé plusieurs versions de Postgresql, elles ont toutes commencé à exécuter des clusters postgres sur un port différent. Dans votre sortie, les versions postgres suivantes sont en cours d'exécution: 9.3 --> 5432
, 9.4 -->5434
, 9.5 --> 5433
.
Sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Vous pouvez désinstaller les autres versions à l'aide de Sudo apt-get purge postgresql-9.x
, où 9.x
est votre version. Toutefois, dans votre cas, la version (9.4) présente sur votre système est configurée pour s'exécuter sur le port 5434. L'erreur Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
indique donc parfaitement que psql tente par défaut de se connecter à le port 5432
qui n'a plus de postgres attaché.
Deux solutions ici:
psql -p 5434
i.e port (-p/- port) dans la commande psql.port
de votre serveur postgres dans /etc/postgresql/9.5/main/postgresql.conf
pour servir sur 5432. N'oubliez pas de redémarrer postgres après modification.