Wie entferne ich Postgres aus meiner Installation?

78

Ich habe Ubuntu 9.10 (karmic), und als ich versuchte, ein neues Programm zu installieren, wurde das Postgres als eine Abhängigkeit dieses Programms installiert. Kein Problem, wenn die Installation erfolgreich war, aber es gab einen Fehler, und das Postgres war nicht installiert und die Anwendung funktioniert nicht. Ich hatte versucht, das Postgres zu aktualisieren und nichts, nur die Meldung "Es gab einen Fehler und Ihr Postgres kann nicht installiert werden"

Jetzt möchte ich das Postgres komplett von meinem Rechner entfernen, wie kann ich das machen, ich möchte den Vorgang nicht bei jedem Booten abbrechen. Ich möchte nur Postgres entfernen.

Was ist die Befehlszeile?

Danke Leute.

deepcell
quelle

Antworten:

144

Der einfachste Weg, dies zu tun, besteht darin, ein Terminal zu öffnen und Folgendes einzugeben:

sudo apt-get --purge remove postgresql

Dadurch werden Sie auch aufgefordert, die von Postgres abhängige Software zu entfernen. In diesem Fall möchten Sie dies anscheinend tun.
Ich persönlich führe kein 9.10 oder Postgres aus, daher ist es möglich, dass Postgres sich in mehreren Teilen installiert. In diesem Fall ein einfaches:

dpkg -l | grep postgres

Sie erhalten eine Liste der Pakete, die Postgres installiert hat. Verwenden Sie dann einfach den gleichen Befehl "apt-get --purge remove ....", aber anstatt nur postgresql, geben Sie jeden Paketnamen ein, getrennt durch Leerzeichen, wie:

sudo apt-get --purge remove postgresql postgresql-doc postgresql-common

Dies hängt natürlich von der Liste der installierten Pakete ab.

Code freundlich
quelle
Also gut, ich versuche es später noch einmal, vielen Dank!
Deepcell
1
Ich führe die Kommandozeile aus -> sudo apt-get --purge remove postgresql und es sieht so aus, als ob es von meinem Ubuntu entfernt wurde. Ich warte auf das Update, immer auf Update postgres zeige den Fehler. Danke trotzdem.
Deepcell
Ich fand es richtig. Aber heute habe ich wieder die gleiche Warnung bekommen, ein Absturzsystem, etwas versuchen die Postgres zu aktualisieren, aber es passiert nicht, dann hat sich der Absturzbericht gezeigt .. einige Vorschläge? Danke noch einmal.
Deepcell
3
Es sollte seindpkg -l | grep postgres
Mithun Sreedharan
78

Schritte, die bei mir Ubuntu 8.04.2zum Entfernen funktioniertenpostgres 8.3

  1. Alle Postgres-Pakete auflisten

    dpkg -l | grep postgres
    
    ii  postgresql                            8.3.17-0ubuntu0.8.04.1           object-relational SQL database (latest versi
    ii  postgresql-8.3                        8.3.9-0ubuntu8.04                object-relational SQL database, version 8.3
    ii  postgresql-client                     8.3.9-0ubuntu8.04                front-end programs for PostgreSQL (latest ve
    ii  postgresql-client-8.3                 8.3.9-0ubuntu8.04                front-end programs for PostgreSQL 8.3
    ii  postgresql-client-common              87ubuntu2                        manager for multiple PostgreSQL client versi
    ii  postgresql-common                     87ubuntu2                        PostgreSQL database-cluster manager
    ii  postgresql-contrib                    8.3.9-0ubuntu8.04                additional facilities for PostgreSQL (latest
    ii  postgresql-contrib-8.3                8.3.9-0ubuntu8.04                additional facilities for PostgreSQL
    
  2. Entfernen Sie alle oben aufgeführten

    sudo apt-get --purge remove postgresql postgresql-8.3  postgresql-client  postgresql-client-8.3 postgresql-client-common postgresql-common  postgresql-contrib postgresql-contrib-8.3
    
  3. Entfernen Sie die folgenden Ordner

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. Entfernen Sie den postgres-Benutzer :

    sudo deluser postgres
    
Mithun Sreedharan
quelle
Vielen Dank! aber ich benutze ubuntu nicht mehr. Jetzt bin ich auf OpenSuse und Centos. Trotzdem danke, wenn ich wieder Probleme mit Postgres habe, wird deine Antwort nützlich sein.
Deepcell
2
Schritt 3 kann mit bash shellsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89 05.10.17
1
+1 für Schritt 3 hier. Das war der Schlüssel für mich. Es wurde mehrmals versucht, die Pakete zu entfernen, aber in / var / lib / postgresql und / etc / postgresql ist noch Cruft zurückgeblieben, was dazu führte, dass nachfolgende Vorgänge nach der Neuinstallation fehlschlugen.
Gil Hamilton
28

Ein Befehl zum vollständigen Entfernen von postgresql im Terminal lautet sudo apt-get --purge remove postgresql\*. Bitte beachten Sie, dass dieser Befehl postgresql und alle seine Komponenten entfernt.

user3146785
quelle
6
Ich benutzte sudo apt-get purge postgresql*am 14.04
Antonios Hadjigeorgalis
Dies sollte die akzeptierte Antwort sein!
Philipp Schwarz
Antwort oben hat bei mir funktioniert - Dies hat nicht alles entfernt, wie --purge Staaten
Ricky
1

Vielen Dank an Code Friendly, und ich möchte mitteilen, wie ich mein Problem gelöst habe.

Wenn ich postgresqlvon der Synaptic-Anwendung aus aktualisiere , wurde die Postgresql 10-Version installiert. Also hatte ich zwei Versionen von postgresql (10 & 9.6) auf meinem Debian-Rechner installiert. Postgresql 9.6lausche am hafen 5432. Postgresql 10Lauschen am Port 5433statt 5432.

Wenn ich den Befehl msfconsolein einem Terminal ausführe, wird die folgende Fehlermeldung angezeigt, obwohl Metasploit eine Verbindung zur MSF-Datenbank über Port 5432 herstellt:


root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

Ich deinstalliere die 9.6-Postgresql-Version aus der Synaptic-Anwendung, aber das Problem besteht weiterhin (Postgresql 9.6 wird nicht mehr in der Liste der installierten Software von synaptic angezeigt).

Aber wenn wir den folgenden Befehl ausführen, sehen wir, dass die Version nach Gresql 9.6 nicht völlig unkristallisiert war:


root@kali:~# dpkg -l | grep postgresql 
ii  postgresql                     10+187             all          object-relational SQL database (supported version)
ii  postgresql-9.6                 **                 all          object-relational SQL database, version 9.6 server
ii  postgresql-10                  10.0-1+b1          amd64        object-relational SQL database, version 10 server
ii  postgresql-client-10           10.0-1+b1          amd64        front-end programs for PostgreSQL 10
ii  postgresql-client-common       187                all          manager for multiple PostgreSQL client versions
ii  postgresql-common              187                all          PostgreSQL database cluster manager
ii  postgresql-contrib             10+187             all          additional facilities for PostgreSQL (supported version)

Mit dem folgenden Befehl wird postgresql-9.6 vollständig deinstalliert:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Dann habe ich die Datei bearbeitet /etc/postgresql/10/main/postgresql.conf, die Portnummer auf 5432 geändert und das Problem ist behoben.


Eine weitere Fehlermeldung wird angezeigt:

Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError)     from /usr/local/bin/bundle:22:in `<main>

Ich fand heraus, dass die Ursache darin bestand, dass zwei (2) Versionen von Ruby auf meinem Debian-Rechner installiert sind, Versionen (2.2 und 2.3).

Gleichermaßen deinstalliere ich die Ruby 2.2-Version aus der Synaptic-Anwendung und das Problem ist behoben, Metasploit startet ohne Probleme.

Internaut 06
quelle
1

Befolgen Sie die Befehle:

  • sudo apt-get --purge entferne postgresql

Alle Postgres-Pakete auflisten:

  • dpkg -l | grep postgres

Entfernen Sie alle oben aufgeführten Pakete mit dem folgenden Befehl:

  • apt-get --purge entferne package1 package2 ..

Bestätigen Sie, dass alle Dateien und Ordner, die sich auf postgres / postgresql beziehen, mit dem folgenden Befehl gelöscht wurden:

  • wo ist postgres
  • whereis postgresql

Entfernen Sie alle mit dem Befehl rm aufgelisteten Dateien und Ordner .

Löschen Sie die Benutzer- Postgres mit dem folgenden Befehl:

  • userdel -f postgres

Fröhliches Programmieren :)

T.Tijo
quelle