119 votos

¿Cómo eliminar Postgres de mi instalación?

Tengo ubuntu 9.10 (karmic), y cuando intenté instalar un nuevo programa, el postgres se instaló como una dependencia de ese programa, no hay problema si la instalación ocurre con éxito, pero hubo un error y el Postgres no se instaló y la aplicación no funciona. He intentado actualizar el Postgres y nada, solo el mensaje "hubo un error y su postgres no se puede instalar"

Ahora quiero eliminar completamente el Postgres de mi máquina, ¿cómo puedo hacer eso, no quiero matar el proceso en cada arranque. Solo quiero eliminar Postgres.

¿Cuál es la línea de comandos?

Gracias gente.

206voto

Code Friendly Puntos 770

La forma más sencilla de hacer esto es abrir una terminal y escribir:

sudo apt-get --purge remove postgresql postgresql-*

Esto también te pedirá que elimines el software que depende de Postgres, lo cual en este caso aparentemente quieres hacer.
Personalmente no uso la versión 9.10 ni Postgres, por lo que es posible que Postgres se instale en varias partes. En ese caso, simplemente:

dpkg -l | grep postgres

Te dará la lista de esos paquetes que Postgres instaló. Entonces, simplemente utiliza el mismo comando "apt-get --purge remove ...." pero en lugar de solo postgresql, escribe cada nombre de paquete, separado por espacios, así:

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

Esto depende de la lista de paquetes instalados, por supuesto.

1 votos

Ejecuté el comando en la línea de comandos --> sudo apt-get --purge remove postgresql y parece que se ha eliminado de mi Ubuntu. Estoy esperando la actualización, siempre que actualizo, Postgres muestra el error. De todos modos, gracias.

0 votos

Pensé que estaba bien. Pero hoy recibí la misma advertencia nuevamente, un sistema se ha bloqueado, algo intentó actualizar el postgres, pero no sucedió, luego el informe del bloqueo se mostró. ¿Algunas sugerencias? Gracias de nuevo.

4 votos

Debería ser dpkg -l | grep postgres

127voto

MGriesbach Puntos 31

Los pasos que funcionaron para mí en Ubuntu 8.04.2 para eliminar postgres 8.3

  1. Lista de todos los paquetes relacionados con Postgres

    dpkg -l | grep postgres
    
    ii  postgresql                            8.3.17-0ubuntu0.8.04.1           base de datos SQL de objetos relacionales (última versi
    ii  postgresql-8.3                        8.3.9-0ubuntu8.04                base de datos SQL de objetos relacionales, versión 8.3
    ii  postgresql-client                     8.3.9-0ubuntu8.04                programas frontales para PostgreSQL (última ve
    ii  postgresql-client-8.3                 8.3.9-0ubuntu8.04                programas frontales para PostgreSQL 8.3
    ii  postgresql-client-common              87ubuntu2                        gestor para múltiples versiones de cliente de PostgreSQL
    ii  postgresql-common                     87ubuntu2                        gestor de clúster de base de datos PostgreSQL
    ii  postgresql-contrib                    8.3.9-0ubuntu8.04                facilidades adicionales para PostgreSQL (última
    ii  postgresql-contrib-8.3                8.3.9-0ubuntu8.04                facilidades adicionales para PostgreSQL
  2. Eliminar todos los paquetes mencionados anteriormente

    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. Eliminar las siguientes carpetas

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
  4. Eliminar el usuario de postgres:

    sudo deluser postgres

0 votos

¡Gracias! pero ya no uso Ubuntu. Ahora estoy en openSUSE y CentOS. De todas formas, gracias, si tengo problemas nuevamente con PostgreSQL tu respuesta será útil.

3 votos

Paso 3 se puede combinar en una línea si se utiliza la terminal bash sudo rm -rf {/var/{lib,log},etc}/postgresql/

1 votos

+1 para el paso 3 aquí. Eso fue clave para mí. Intenté eliminar los paquetes varias veces pero quedaron restos en /var/lib/postgresql y /etc/postgresql que hacían que las operaciones posteriores después de la reinstalación fallaran.

48voto

user3146785 Puntos 41

Un comando para eliminar completamente postgresql en la terminal es sudo apt-get --purge remove postgresql\*. Por favor ten en cuenta que este comando eliminará postgresql y todos sus componentes.

10 votos

Usé sudo apt-get purge postgresql* en 14.04.

0 votos

¡Esta debería ser la respuesta aceptada!

0 votos

La respuesta anterior funcionó para mí - Esto no eliminó todo como indica --purge

12voto

T.Tijo Puntos 101

Siga los comandos:

  • sudo apt-get --purge remove postgresql

Lista todos los paquetes relacionados con postgres:

  • dpkg -l | grep postgres

Elimina todos los paquetes mencionados anteriormente usando el comando:

  • apt-get --purge remove paquete1 paquete2 ..

Confirma que todos los archivos y carpetas relacionados con postgres/postgresql han sido eliminados usando el comando:

  • whereis postgres
  • whereis postgresql

Elimina todos los archivos y carpetas mencionados usando el comando rm.

Elimina al usuario postgres usando el comando:

  • userdel -f postgres

¡Feliz codificación! :)

0 votos

Eliminar el usuario de postgres es un buen paso adicional.

1voto

Internaut 06 Puntos 11

Gracias a Code Friendly, y quiero compartir cómo resolví mi problema.

Cuando actualicé postgresql desde la aplicación Synaptic, se instaló la versión postgresql 10. Así que tuve dos versiones de postgresql (10 y 9.6) instaladas en mi máquina debian. Postgresql 9.6 escuchando en el puerto 5432. Postgresql 10 escuchando en el puerto 5433 en lugar de 5432.

Cuando ejecuto el comando msfconsole en una terminal, aunque metasploit se conecta a la base de datos msf en el puerto 5432, aparece el siguiente mensaje de error:


root@kali:~# msfconsole
[-] Fallo al conectar con la base de datos: no se pudo conectar al servidor: Conexión rechazada
¿El servidor se está ejecutando en el host "localhost" (::1) y acepta conexiones TCP/IP en el puerto 5432?

Desinstalé la versión 9.6 de postgresql desde la aplicación Synaptic, pero el problema persiste (postgresql 9.6 ya no aparece en la lista de software instalado de Synaptic);

Pero al ejecutar el comando que sigue vemos que la versión postgresql 9.6 no se desinstaló completamente:


root@kali:~# dpkg -l | grep postgresql 
ii  postgresql                     10+187             all          base de datos SQL de objetos relacionales (versión soportada)
ii  postgresql-9.6                 **                 all          base de datos SQL de objetos relacionales, servidor versión 9.6
ii  postgresql-10                  10.0-1+b1          amd64        base de datos SQL de objetos relacionales, servidor versión 10
ii  postgresql-client-10           10.0-1+b1          amd64        programas de front-end para PostgreSQL 10
ii  postgresql-client-common       187                all          gestor para múltiples versiones de cliente PostgreSQL
ii  postgresql-common              187                all          gestor de clúster de bases de datos PostgreSQL
ii  postgresql-contrib             10+187             all          facilidades adicionales para PostgreSQL (versión soportada)

Con el siguiente comando, postgresql-9.6 se desinstala completamente:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Luego edité el archivo /etc/postgresql/10/main/postgresql.conf, cambié el número de puerto a 5432 y el problema se solucionó.


Aparece otro mensaje de error:

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 `

Descubrí que la causa era que hay dos (2) versiones de Ruby instaladas en mi máquina debian, versiones (2.2 y 2.3).

Al igual que antes, desinstalé la versión 2.2 de Ruby desde la aplicación Synaptic y el problema se resolvió, metasploit se inicia sin problemas.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X