Как удалить базу данных postgresql ubuntu

Обновлено: 21.11.2024

Если вы используете PostgreSQL, в какой-то момент вам может потребоваться удалить пакет из вашей системы. Важно знать, как правильно удалить PostgreSQL, чтобы убедиться, что все компоненты пакета полностью удалены и вы не столкнулись с какими-либо ошибками. В этой статье мы объясним, как удалить PostgreSQL из операционных систем Linux, macOS и Windows.

ПРИМЕЧАНИЕ. Обязательно повысьте привилегии для любой из команд в этой статье с помощью sudo, если терминал возвращает ошибку «Отказано в доступе».

Удаление и удаление PostgreSQL в Debian Linux

Команду apt-get можно использовать для полного удаления PostgreSQL из дистрибутива Linux на базе Debian, такого как Linux Mint или Ubuntu:

sudo apt-get --purge удалить postgresql
sudo apt-get очистить postgresql *
sudo apt-get --purge удалить postgresql postgresql-doc postgresql-common

Grep для всех пакетов PostgreSQL в Debian Linux

Вы можете использовать команду dpkg для управления пакетами Debian в сочетании с grep для поиска всех имен установленных пакетов, содержащих подстроку postgres . Пример этой команды показан ниже:

Наконец, обязательно используйте команду --purge remove репозитория APT-GET, за которой следует имя пакета postgres. Эта команда удалит пакет и все связанные с ним данные:

Удалить все данные и каталоги PostgreSQL

Используйте команду rm с параметрами -rf, чтобы рекурсивно удалить все каталоги и данные для пакетов postgresql:

sudo rm -rf / var / lib / postgresql /
sudo rm -rf / var / log / postgresql /
sudo rm -rf / etc / postgresql /

После завершения команд rm выполните команду dpkg -l | команда grep postgres еще раз, чтобы убедиться, что все пакеты были удалены.

Удаление и удаление пакетов PostgreSQL в Fedora Linux

Вы можете использовать команду yum репозитория YUM для удаления PostgreSQL в дистрибутивах Linux на основе Fedora, таких как Red Hat или CentOS:

Чтобы использовать подстановочный знак ( * ) для удаления всех пакетов с именами, начинающимися с postgres , используйте следующую команду:

Не забудьте также удалить каталог pgsql:

ПРИМЕЧАНИЕ. Имейте в виду, что sudo по умолчанию не включен для пользователей RHEL. Вместо этого используйте команду su (сменить пользователя), чтобы войти в систему как root и при необходимости выполнить приведенные выше команды с повышенными привилегиями.

Grep для пакетов PostgreSQL в Fedora с использованием «rpm»

Вы можете использовать команду rpm с параметрами -qa для поиска любых пакетов, которые содержат «postgres» в своем имени:

Если вы предпочитаете, вы также можете сократить поиск до чего-то вроде поста:

Вы также можете использовать grep в сочетании с командой YUM list, чтобы получить список всех экземпляров пакетов PostgreSQL:

Удалите пакет PostgreSQL с помощью YUM remove

Найдя пакет, используйте команду удаления YUM, чтобы удалить PostgreSQL из вашей системы Linux:

Перейдите в назначенный каталог для данных PostgreSQL, а затем используйте команду rm для удаления всех ваших баз данных и таблиц.

Удалить и удалить PostgreSQL из Windows

Если вы используете Windows, введите удалить или удалить в строке поиска в нижней левой части экрана:

Затем следуйте инструкциям по удалению, обязательно выбрав вариант «Все компоненты» при появлении запроса.

Вы увидите всплывающее сообщение примерно такого содержания: Каталог данных s(C:\Program Files\PostgreSQL\11\data) не был удален . Просто нажмите «ОК», чтобы закрыть всплывающее окно, и не выбирайте вариант перезагрузки компьютера.

Удалить папку данных для PostgreSQL в Windows

После завершения процесса удаления, описанного в предыдущем разделе, откройте Проводник для Windows и перейдите в папку данных. Щелкните правой кнопкой мыши папку данных и нажмите кнопку Удалить. Обязательно очистите корзину после этого, чтобы убедиться, что все конфиденциальные данные были правильно удалены.

После того, как все данные будут удалены, вам следует перезапустить Windows 10.

Удаление и удаление PostgreSQL в macOS

Чтобы удалить PostgreSQL в macOS, откройте новый экземпляр Finder и перейдите в каталог Applications. Найдите папку PostgreSQL и перетащите ее содержимое в папку приложения «Корзина» в macOS.

Удалить данные PostgreSQL в терминале в macOS

После удаления папки PostgreSQL откройте папку «Утилиты» в окне Finder, а затем откройте приложение «Терминал».

Используйте команду cd, чтобы перейти в каталог PostgreSQL. Вы можете сделать это, введя путь к каталогу в командной строке терминала и нажав клавишу Return:

Затем используйте команду rm -rf, чтобы удалить каталог и его содержимое:

Не забудьте очистить содержимое приложения "Корзина", когда закончите.

Удалите установку PostgreSQL Homebrew на macOS

Вы можете использовать команду brew в окне терминала macOS, чтобы удалить версию PostgreSQL Homebrew. Сначала используйте команду list, чтобы вернуть все приложения, установленные с помощью Homebrew:

Затем используйте следующую команду, чтобы принудительно удалить установку Homebrew postgresql:

Заключение

Если вам нужно удалить PostgreSQL, важно сделать это аккуратно и тщательно. Использование ярлыков в процессе удаления может привести к тому, что конфиденциальные данные останутся на вашем компьютере. В этой статье мы объяснили, как удалить и удалить PostgreSQL из Windows, Linux и macOS. С пошаговыми инструкциями, подробно описанными в этом руководстве, вы будете готовы удалить PostgreSQL с любого из ваших компьютеров.

Протестируйте платформу ObjectRocket бесплатно!

Попробуйте полностью управляемые CockroachDB, Elasticsearch, MongoDB, PostgreSQL (бета-версия) или Redis.

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

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

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

5 ответов 5

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

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

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

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

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

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

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

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

Удалить все вышеперечисленное

Удалить следующие папки

Удалите пользователя postgres:

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

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

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

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

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

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

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

  • apt-get --purge удалить пакет1 пакет2 ..

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

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

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

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

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

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

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

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

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

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

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

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

Вывод: в этом руководстве вы узнаете, как использовать оператор PostgreSQL DROP DATABASE для удаления базы данных.

Введение в оператор PostgreSQL DROP DATABASE

Если база данных больше не нужна, ее можно удалить с помощью инструкции DROP DATABASE.

Следующее иллюстрирует синтаксис оператора DROP DATABASE:

Чтобы удалить базу данных:

  • Укажите имя базы данных, которую вы хотите удалить, после предложения DROP DATABASE.
  • Используйте IF EXISTS, чтобы предотвратить ошибку при удалении несуществующей базы данных. Вместо этого PostgreSQL выдаст уведомление.

Инструкция DROP DATABASE безвозвратно удаляет записи каталога и каталог данных. Это действие нельзя отменить, поэтому используйте его с осторожностью.

Только суперпользователи и владелец базы данных могут выполнять оператор DROP DATABASE. Кроме того, вы не можете выполнить инструкцию DROP DATABASE, если к базе данных все еще есть активные соединения. В этом случае вам необходимо отключиться от базы данных и подключиться к другой базе данных, например, к postgres, чтобы выполнить оператор DROP DATABASE.

PostgreSQL также предоставляет служебную программу dropdb, которая позволяет удалить базу данных. Программа dropdb выполняет оператор DROP DATABASE за кулисами.

1) Удалить базу данных с активными подключениями

Чтобы удалить базу данных с активными подключениями, выполните следующие действия:

Сначала найдите действия, связанные с базой данных, запросив представление pg_stat_activity:

Во-вторых, разорвите активные подключения, выполнив следующий запрос:

Обратите внимание: если вы используете PostgreSQL версии 9.1 или более ранней, используйте столбец procpid вместо столбца pid, поскольку PostgreSQL изменил столбец procid на столбец pid, начиная с версии 9.2

В-третьих, выполните оператор DROP DATABASE:

Примеры DROP DATABASE для PostgreSQL

Для демонстрации мы будем использовать базы данных, созданные в руководстве по созданию базы данных PostgreSQL.

Если вы еще не создали эту базу данных, для ее создания можно использовать следующие операторы CREATE DATABASE:

1) Удаление базы данных без активного примера подключения

Чтобы удалить базу данных hrdb, используйте владельца hrdb для подключения к базе данных, отличной от базы данных hrdb, например, postgres, и выполните следующую инструкцию:

PostgreSQL удалил базу данных hrdb.

2) Удаление базы данных с активными соединениями, пример

Следующий оператор удаляет базу данных testdb1:

Однако PostgreSQL выдал следующую ошибку:

Чтобы удалить базу данных testdb1, необходимо разорвать активное соединение и удалить базу данных.

Сначала запросите представление pg_stat_activity, чтобы узнать, какие действия выполняются в базе данных testdb1:

База данных testdb1 имеет одно соединение с локальным хостом, поэтому безопасно разорвать это соединение и удалить базу данных.

Во-вторых, разорвите соединение с базой данных testdb1, используя следующую инструкцию:

В-третьих, введите команду DROP DATABASE, чтобы удалить базу данных testdb1:

PostgreSQL навсегда удаляет testdb1.

В этом руководстве вы узнали, как использовать оператор PostgreSQL DROP DATABASE для удаления базы данных. Кроме того, вы также узнали, как удалить базу данных с активными подключениями.

DROP DATABASE в PostgreSQL — это оператор для безвозвратного удаления всех записей каталога и каталога данных. Владелец базы данных может только выполнить эту команду. Его нельзя выполнить, пока кто-то подключен к целевой базе данных. Вам нужно подключиться к другой базе данных, чтобы выполнить команду DROP DATABASE.

Поэтому при выполнении этой операции следует соблюдать особую осторожность.

Синтаксис PostgreSQL DROP DATABASE:

  • ЕСЛИ СУЩЕСТВУЕТ. Это необязательный параметр. В случае, если база данных не существует, вместо ошибки отображается предупреждение
  • имя: укажите имя БД, которую вы хотите удалить

Давайте посмотрим на пример командной строки удаления базы данных PostgreSQL в действии

Перетащите базу данных PostgreSQL с помощью оболочки SQL (командная строка)

Ниже приведен пошаговый процесс удаления базы данных в командной строке Postgres:

Шаг 1) Используйте команду \l, чтобы определить доступную в данный момент базу данных.

Шаг 2) Чтобы удалить базу данных в Postgres, введите команду

Используйте команду \l, чтобы проверить, удалена ли БД

Шаг 3) Попробуйте снова удалить ту же базу данных, вы получите сообщение об ошибке.

Шаг 4. Отбросьте базу данных с предложением IF exists, и вы получите предупреждение

PgAdmin базы данных PostgreSQL Drop (GUI)

Шаг 1) Щелкните правой кнопкой мыши базу данных "guru99" и выберите "Удалить/Удалить".

Шаг 2) Нажмите OK во всплывающем окне подтверждения

База данных удалена.

команда dropdb

Команда dropdb позволяет удаленно удалить базу данных в PostgreSQL. Но пользователь должен быть владельцем базы данных, чтобы использовать команду удаления базы данных PostgreSQL для удаления этой базы данных.

Синтаксис:

< /tr>
Опция Описание
-e Эхо-команды, которые dropdb создает и отправляет на сервер.
-i Отображать запрос подтверждения перед выполнением любого деструктивного задания
-V Используйте эту опцию, чтобы распечатать версию dropdb.
–help Предоставить помощь с аргументами командной строки dropdb.
-h host Помогает указать имя хоста системы, на которой в данный момент находится сервер работает.
-p порт Опция позволяет указать расширение файла сокета домена Unix, на котором сервер устанавливает соединения.
–если существует Если существует будет показывать ошибку вместо прогрева, если БД не выходит
- U имя пользователя Имя пользователя для подключения.
-w Используйте этот параметр, если не хотите запрашивать пароль
-W Используйте этот p параметр для запроса пароля перед удалением базы данных.
maintenance db-=dbname имя базы данных, к которой нужно подключиться для удаления целевой базы данных.

Пример удаления базы данных PostgreSQL

Мы хотим уничтожить базу данных guru99 с помощью сервера на хост-компьютере rome, порт 4565, с проверкой, и вам нужно использовать следующую команду PostgreSQL drop database:

Читайте также: