Wie deinstalliere ich bestimmte Versionen von Postgres?

Wie deinstalliere ich bestimmte Versionen von Postgres?

Unter Ubuntu 14.04 habe ich Folgendes 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

Anschließend habe ich die Version 9.4 installiert:

sudo apt-get install postgresql-9.4

Allerdings scheint es, 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? Danke

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

Soweit, so gut, aber wenn ich zu Postgres wechsle:

sudo su postgres

und mache ein psql, bekomme ich 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"?

Antwort1

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. Anschließend sollten Sie unnötige Konfigurationsordner löschen:

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

    /var/lib/postgresql/*
    

Ich hoffe es hilft dir.

Antwort2

Die Antwort kommt sehr spät, könnte aber den Leuten hier helfen.

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

Lange Antwort: Als Sie mehrere Versionen von Postgresql installiert haben, begannen alle damit, Postgres-Cluster auf unterschiedlichen Ports auszuführen. In Ihrer Ausgabe werden die folgenden Postgres-Versionen ausgeführt: 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 mithilfe von „ sudo apt-get purge postgresql-9.xWo 9.xist Ihre Version?“ deinstallieren. In Ihrem Fall ist die auf Ihrem System vorhandene Version (9.4) jedoch so konfiguriert, dass sie auf Port 5434 ausgeführt wird. Der Fehler Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?weist daher eindeutig darauf hin, dass psql standardmäßig versucht, eine Verbindung zu einem Port herzustellen 5432, an den kein Postgres mehr angeschlossen ist.

Hier zwei Lösungen:

  • Verwenden Sie entweder psql -p 5434die Portoption (-p/--port) im PSSQL-Befehl.
  • Oder konfigurieren Sie Ihren Postgres-Serverkonfigurationswert portso, /etc/postgresql/9.5/main/postgresql.confdass er auf 5432 bereitgestellt wird. Vergessen Sie nicht, Postgres nach der Änderung neu zu starten.

verwandte Informationen