Wie deinstalliere ich bestimmte Versionen von Postgres?

11

Unter Ubuntu 14.04 habe ich dies getan, um die neuesten Postgres zu erhalten:

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

Dann habe ich Version 9.4 installiert:

sudo apt-get install postgresql-9.4

Es scheint jedoch, dass ich jetzt drei Versionen habe:

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 ]

Wie kann ich nur 9.4 behalten und die anderen deinstallieren? Vielen Dank

AKTUALISIEREN:

Wie in den Kommentaren vorgeschlagen, habe ich 9.3 und 9.5 deinstalliert.

Aber wenn ich das mache:

sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down

So weit so gut, aber wenn ich zu Postgres wechsle:

sudo su postgres

und mache ein psql, ich bekomme eine Fehlermeldung:

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"?
Houman
quelle
Wie haben Sie 9.3 und 9.5 installiert?
Rinzwind
9.3 wurde standardmäßig in 14.04 installiert. 9.5 wurde installiert, als ich die PPI oben hinzufügte. Es wurde gerade der neueste Server installiert.
Houman
Postgres ist nicht Teil eines Standard-Ubuntu ;-) Aber dann würde ich davon ausgehen sudo apt-get remove postgresql-9.3, dass 9.3 (nach dem Herunterfahren des 9.3-Servers) entfernt wird
Rinzwind
Vielen Dank, ich habe Ihren Rat befolgt, siehe aktualisierte Frage.
Houman
Ich habe es gefunden. Die Lösung besteht darin, alles zu löschen,
Houman

Antworten:

7

Verschiedene Versionen von PostgreSQL befinden sich in den Paketen postgresql-9. *.

  1. Sie sollten also Ihre beiden Pakete entfernen:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
  2. Dann sollten Sie unnötige Konfigurationsordner entfernen:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
  3. Und aus / var / lib / Ordner, wenn Sie haben:

    /var/lib/postgresql/*
    

Ich hoffe es hilft dir.

Korrektor
quelle
1

Antwort sehr spät hinzufügen, könnte aber den Leuten hier helfen.

Kurze Antwort: Fehler zeigt an, dass Postgres am falschen (nicht standardmäßigen) Port konfiguriert sind. Verwenden Sie den richtigen Port

Lange Antwort: Wenn Sie mehrere Versionen von Postgresql installiert haben, haben alle damit begonnen, Postgres-Cluster auf verschiedenen Ports auszuführen. In Ihrer Ausgabe nach Postgres - Versionen ausgeführt werden : 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

Sie können die anderen Versionen deinstallieren, indem Sie verwenden, sudo apt-get purge postgresql-9.xwo 9.xsich Ihre Version befindet. In Ihrem Fall ist die auf Ihrem System vorhandene Version (9.4) jedoch so konfiguriert, dass sie auf Port 5434 ausgeführt wird. Daher zeigt der Fehler Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?perfekt an, dass psql standardmäßig versucht, eine Verbindung zu Port 5432Nr. 1 herzustellen länger hat keine postgres angebracht.

Zwei Lösungen hier :

  • Verwenden Sie entweder die psql -p 5434Port-Option (-p / - Port) im Befehl psql.
  • Oder konfigurieren Sie den Konfigurationswert Ihres Postgres-Servers portso /etc/postgresql/9.5/main/postgresql.conf, dass er auf 5432 bereitgestellt wird. Vergessen Sie nicht, Postgres nach der Änderung neu zu starten.
Ankit Kulkarni
quelle