Как удалить Postgres из моей установки?


78

У меня Ubuntu 9.10 (karmic), и когда я попытался установить новую программу, postgres был установлен как зависимость от этой программы, никаких проблем, если установка прошла успешно, но произошла ошибка, и Postgres был не установлено и приложение не работает. Я пытался обновить Postgres и ничего, только сообщение "произошла ошибка и ваш postgres не может быть установлен"

Теперь я хочу полностью удалить Postgres со своей машины, как я могу это сделать, я не хочу убивать процесс при каждой загрузке. Я просто хочу удалить Postgres.

Что такое командная строка?

Спасибо людям.

Ответы:


144

Самый простой способ сделать это - открыть терминал и набрать:

sudo apt-get --purge remove postgresql

Это также побудит вас удалить то программное обеспечение, которое зависит от Postgres, что в данном случае, по-видимому, вы хотели бы сделать.
Я лично не запускаю 9.10 или Postgres, поэтому вполне возможно, что Postgres устанавливает себя в несколько частей. В таком случае просто:

dpkg -l | grep postgres

Вы получите список тех пакетов, которые установил Postgres. Затем просто используйте ту же команду «apt-get --purge remove ....», но вместо просто postgresql, введите имя каждого пакета, разделенное пробелами, например:

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

Конечно, это зависит от списка установленных пакетов.


Хорошо, я попробую позже, а пока, большое спасибо!
Deepcell

1
Я запускаю командную строку -> sudo apt-get --purge remove postgresql и похоже, что он был удален из моей ubuntu .. Я жду обновления, всегда при обновлении postgres показывает ошибку. Спасибо, в любом случае.
Deepcell

Я думал, что это было правильно. Но сегодня я снова получил то же самое предупреждение, система аварийного завершения, что-то пытается обновить postgres, но этого не происходит, тогда отчет о аварийном завершении показал себя .. некоторые предложения? еще раз спасибо.
Deepcell

3
Это должно бытьdpkg -l | grep postgres
Mithun Sreedharan

78

Шаги, которые работали на меня, Ubuntu 8.04.2чтобы удалитьpostgres 8.3

  1. Список всех пакетов, связанных с 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. Удалить все вышеперечисленное

    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. Удалите следующие папки

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. Удалить пользователя postgres :

    sudo deluser postgres
    

Спасибо! но я больше не использую Ubuntu. Сейчас я нахожусь на опенсе и сентос. В любом случае, спасибо, если у меня снова возникнут проблемы с postgres, ваш ответ будет полезен.
Deepcell

2
Шаг 3 можно объединить в одну строку при использовании оболочки bashsudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89

1
+1 за шаг 3 здесь. Это было ключевым для меня. Несколько раз пытался удалить пакеты, но в / var / lib / postgresql и / etc / postgresql осталась куча, которая вызывала последующие операции после переустановки.
Джил Гамильтон

28

Одна команда, чтобы полностью удалить postgresql в терминале sudo apt-get --purge remove postgresql\*. Обратите внимание, что эта команда удалит postgresql и все его компоненты.


6
Я использовал sudo apt-get purge postgresql*14.04
Антониос Хаджигеоргалис

Это должен быть принятый ответ!
Филипп Шварц

Ответ выше работал для меня - Это не удаляло все, как говорится --purge
Рики

1

Спасибо Code Friendly, и я хочу поделиться тем, как я решил свою проблему.

Когда я обновлялся postgresqlиз приложения Synaptic, была установлена ​​версия postgresql 10. Поэтому на моем компьютере с Debian были установлены две версии postgresql (10 и 9.6). Postgresql 9.6слушаю по порту 5432. Postgresql 10прослушивание порта 5433вместо 5432.

Когда я запускаю команду msfconsoleв терминале, хотя metasploit подключается к базе данных msf через порт 5432, появляется следующее сообщение об ошибке:


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?

Я удаляю версию 9.6 postgresql из приложения Synaptic, но проблема сохраняется (postgresql 9.6 больше не отображается в списке установленного программного обеспечения synaptic);

Но, выполнив следующую команду, мы увидим, что версия postgresql 9.6 не была полностью удалена:


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)

С помощью следующей команды postgresql-9.6 полностью удален:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

Затем я отредактировал файл /etc/postgresql/10/main/postgresql.conf, изменил номер порта на 5432 и проблема решена.


Появляется другое сообщение об ошибке:

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>

Я обнаружил, что причина была в том, что на моем компьютере с Debian установлены две (2) версии Ruby, версии (2.2 и 2.3).

То же самое, я удаляю версию ruby ​​2.2 из приложения synaptic, и проблема решена, metasploit запускается без проблем.


1

Следуйте командам:

  • sudo apt-get --purge удалить postgresql

Список всех пакетов, связанных с postgres:

  • dpkg -l | Grep Postgres

удалите все перечисленные выше пакеты с помощью команды:

  • apt-get --purge удалить package1 package2 ..

Убедитесь, что все файлы и папки, связанные с postgres / postgresql, удалены с помощью команды:

  • где постгрес
  • где это postgresql

Удалите все перечисленные файлы и папки с помощью команды rm .

Удалите пользователя postgres с помощью команды:

  • userdel -f postgres

счастливого кодирования :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.