Comment supprimer Postgres de mon installation?


78

J'ai Ubuntu 9.10 (karmic), et quand j'ai essayé d'installer un nouveau programme, le postgres a été installé en tant que dépendance de ce programme. Aucun problème si l'installation se produit avec succès, mais il y avait une erreur, et le postgres était pas installé et l'application ne fonctionne pas. J'avais essayé de mettre à jour le Postgres et rien, seulement le message "il y avait une erreur et votre postgres ne peut pas être installé"

Maintenant, je veux supprimer complètement le Postgres de ma machine, comment puis-je le faire, je ne veux pas tuer le processus à chaque démarrage. Je veux juste enlever Postgres.

Quelle est la ligne de commande?

Merci les gens.

Réponses:


144

Pour ce faire, le plus simple consiste à ouvrir un terminal et à taper:

sudo apt-get --purge remove postgresql

Cela vous invitera également à supprimer le logiciel dépendant de Postgres, ce qui semble être le cas.
Personnellement, je n’utilise pas la version 9.10 ou Postgres, il est donc possible que Postgres s’installe lui-même en plusieurs parties. Dans ce cas, un simple:

dpkg -l | grep postgres

Vous obtiendrez la liste de ces paquetages installés par Postgres. Ensuite, utilisez simplement la même commande "apt-get --purge remove ...." mais, au lieu de simplement postgresql, tapez chaque nom de paquet, séparé par des espaces, comme suit:

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

Cela dépend de la liste des paquets installés, bien sûr.


D'accord, j'essaierai plus tard, pour l'instant, merci beaucoup!
deepcell

1
J'exécute la ligne de commande -> sudo apt-get --purge remove postgresql et on dirait qu'il a été supprimé de mon ubuntu .. J'attends la mise à jour, toujours à jour postgres affiche l'erreur. Merci quand même.
deepcell

Je pensais que c'était juste. Mais aujourd’hui, j’ai encore reçu le même avertissement, un système de crash, quelque chose pour essayer de mettre à jour le postgres, mais cela n’arrive pas, alors le rapport de crash s’est révélé… quelques suggestions? Merci encore.
deepcell

3
Il devrait êtredpkg -l | grep postgres
Mithun Sreedharan

78

Étapes qui ont fonctionné pour moi Ubuntu 8.04.2pour enleverpostgres 8.3

  1. Lister tous les paquets liés à Postgres

    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. Supprimer tout ce qui précède

    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. Supprimer les dossiers suivants

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. Supprimer l'utilisateur postgres :

    sudo deluser postgres
    

Merci! mais je n'utilise plus Ubuntu. Maintenant, je suis sur opensuse et centos. Merci quand même, si j'ai encore des problèmes avec postgres, votre réponse sera utile.
deepcell

2
L'étape 3 peut être combinée en une seule ligne si vous utilisez bash shellsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89

1
+1 pour l'étape 3 ici. C'était la clé pour moi. J'ai essayé de supprimer les paquets à plusieurs reprises, mais il y avait des résidus dans / var / lib / postgresql et / etc / postgresql qui entraînaient l'échec des opérations suivantes après la réinstallation.
Gil Hamilton

28

Une commande pour supprimer complètement postgresql dans le terminal est sudo apt-get --purge remove postgresql\*. Veuillez noter que cette commande supprimera postgresql et tous ses composants.


6
J'ai utilisé sudo apt-get purge postgresql*sur 14.04
Antonios Hadjigeorgalis

Cela devrait être la réponse acceptée!
Philipp Schwarz

Réponse ci - dessus a travaillé pour moi - Cela n'a pas supprimé tout comme --purge indique
Ricky

1

Merci à Code Friendly, & je veux partager comment j'ai résolu mon problème.

Lorsque j'ai mis postgresqlà jour à partir de l'application Synaptic, c'est la version postgresql 10 qui a été installée. J'avais donc deux versions de postgresql (10 & 9.6) installées sur ma machine Debian. Postgresql 9.6écoute sur le port 5432. Postgresql 10écoute sur le port 5433au lieu de 5432.

Lorsque j'exécute la commande msfconsoledans un terminal, bien que metasploit se connecte à la base de données msf sur le port 5432, le message d'erreur suivant s'affiche:


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?

Je désactive la version 9.6 postgresql de l'application Synaptic, mais le problème persiste (postgresql 9.6 n'apparaît plus dans la liste des logiciels installés de Synaptic);

Mais en exécutant la commande qui suit, nous voyons que la version postgresql 9.6 n’était pas complètement désistée:


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)

Avec la commande suivante, postgresql-9.6 est complètement désinstallé:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Ensuite, j'ai édité le fichier /etc/postgresql/10/main/postgresql.conf, changé le numéro de port en 5432 et le problème est résolu.


Un autre message d'erreur apparaît:

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>

J'ai découvert que la cause en était que deux (2) versions de Ruby sont installées sur ma machine Debian, les versions (2.2 et 2.3).

Même chose, je désinstalle la version ruby ​​2.2 de l’application synaptic et le problème est résolu, metasploit démarre sans problèmes.


1

Suivez les commandes:

  • sudo apt-get --purge supprimer postgresql

Lister tous les paquets liés à postgres:

  • dpkg -l | grep postgres

supprimez tous les paquetages énumérés ci-dessus à l'aide de la commande:

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

Confirmez que tous les fichiers et dossiers liés à postgres / postgresql sont supprimés à l’aide de la commande suivante:

  • où est postgres
  • où est postgresql

Supprimez tous les fichiers et dossiers répertoriés à l'aide de la commande rm .

Supprimez l'utilisateur postgres en utilisant la commande:

  • userdel -f postgres

Bonne codage :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.