Come rimuovere Postgres dalla mia installazione?


78

Ho Ubuntu 9.10 (Karmic) e quando ho tentato di installare un nuovo programma, Postgres è stato installato come dipendenza da quel programma, nessun problema se l'installazione si è verificata correttamente, ma si è verificato un errore e Postgres è stato non installato e l'applicazione non funziona. Avevo provato ad aggiornare Postgres e niente, solo il messaggio "si è verificato un errore e non è possibile installare il tuo postgres"

Ora voglio rimuovere completamente Postgres dalla mia macchina, come posso farlo, non voglio interrompere il processo ad ogni avvio. Voglio solo rimuovere Postgres.

Qual è la riga di comando?

Grazie gente

Risposte:


144

Il modo più semplice per farlo è aprire un terminale e digitare:

sudo apt-get --purge remove postgresql

Questo ti chiederà anche di rimuovere quel software che dipende da Postgres, che in questo caso sembra che ti piacerebbe fare.
Non eseguo personalmente 9.10 o Postgres, quindi è possibile che Postgres si installi automaticamente in più parti. In tal caso, un semplice:

dpkg -l | grep postgres

Ti fornirà l'elenco di quei pacchetti che Postgres ha installato. Quindi, usa lo stesso comando "apt-get --purge remove ...." ma invece di postgresql, digita il nome di ciascun pacchetto, separato da spazi, come:

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

Ciò dipende ovviamente dall'elenco dei pacchetti installati.


Bene, ci proverò più tardi, per ora, grazie mille!
deepcell

1
Eseguo la riga di comando -> sudo apt-get --purge remove postgresql e sembra che sia stato rimosso dal mio ubuntu .. Sto aspettando l'aggiornamento, sempre su update postgres mostra l'errore. grazie comunque.
deepcell

Ho pensato che fosse giusto. Ma oggi ho ricevuto di nuovo lo stesso avvertimento, un sistema di crash, qualcosa tenta di aggiornare Postgres, ma non succede, quindi il rapporto di crash si è mostrato .. alcuni suggerimenti? grazie ancora.
deepcell,

3
Dovrebbe esseredpkg -l | grep postgres
Mithun Sreedharan l'

78

Passaggi su cui ho lavorato per Ubuntu 8.04.2rimuoverepostgres 8.3

  1. Elenca tutti i pacchetti relativi a 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. Rimuovi tutto sopra elencato

    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. Rimuovi le seguenti cartelle

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

    sudo deluser postgres
    

Grazie! ma non sto più usando Ubuntu. Ora sono su opensuse e centos. Grazie comunque, se avessi di nuovo problemi con Postgres la tua risposta sarà utile.
deepcell

2
Il passaggio 3 può essere combinato in una riga se si utilizza bash shellsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89,

1
+1 per il passaggio 3 qui. Questa è stata la chiave per me. Ho provato a rimuovere i pacchetti più volte, ma c'era cruft lasciato alle spalle in / var / lib / postgresql e / etc / postgresql che causava il fallimento delle successive operazioni dopo la reinstallazione.
Gil Hamilton,

28

Un comando per rimuovere completamente postgresql nel terminale è sudo apt-get --purge remove postgresql\*. Si noti che questo comando rimuoverà postgresql e tutti i suoi componenti.


6
Ho usato sudo apt-get purge postgresql*il 14.04
Antonios Hadjigeorgalis il

Questa dovrebbe essere la risposta accettata!
Philipp Schwarz,

La risposta sopra ha funzionato per me - Questo non ha rimosso tutto come afferma --purge
Ricky l'

1

Grazie a Code Friendly, e voglio condividere come ho risolto il mio problema.

Quando ho aggiornato postgresqldall'applicazione Synaptic, è stata installata la versione postgresql 10. Quindi avevo due versioni di postgresql (10 e 9.6) installate nella mia macchina debian. Postgresql 9.6ascoltando sulla porta 5432. Postgresql 10in ascolto sulla porta 5433anziché 5432.

Quando msfconsoleeseguo il comando in un terminale, sebbene metasploit si colleghi al database msf sulla porta 5432, viene visualizzato il seguente messaggio di errore:


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?

Disinstallare la versione 9.6 postgresql dall'applicazione Synaptic, ma il problema persiste (postgresql 9.6 non appare più nell'elenco dei software installati di Synaptic);

Ma eseguendo il comando che segue vediamo che la versione postgresql 9.6 non è stata completamente disinstallata:


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)

Con il seguente comando, postgresql-9.6 è stato disinstallato completamente:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Quindi ho modificato il file /etc/postgresql/10/main/postgresql.conf, modificato il numero di porta su 5432 e il problema è stato risolto.


Viene visualizzato un altro messaggio di errore:

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>

Ho scoperto che la causa era che due (2) versioni di Ruby sono installate nella mia macchina debian, versioni (2.2 e 2.3).

Stessa cosa, disinstallo la versione ruby ​​2.2 dall'applicazione sinaptica e il problema è risolto, metasploit si avvia senza problemi.


1

Segui i comandi:

  • sudo apt-get --purge rimuove postgresql

Elencare tutti i pacchetti relativi a postgres:

  • dpkg -l | grep postgres

rimuovere tutti i pacchetti sopra elencati usando il comando:

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

Conferma che tutti i file e le cartelle relativi a postgres / postgresql vengono eliminati usando il comando:

  • dove sono postgres
  • dove è postgresql

Rimuovere tutti i file e le cartelle elencati usando il comando rm .

Elimina i postgres dell'utente usando il comando:

  • userdel -f postgres

buona programmazione :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.