Как удалить базу данных postgresql
Перейти к содержимому

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

  • автор:

Как удалить базу данных Postgres?

Если пользователь базы — www-data , а база — database , то можно так:

$ sudo -u www-data dropdb database 

Подробнее об утилите dropdb и командe DROP DATABASE.

Отслеживать

51.6k 204 204 золотых знака 67 67 серебряных знаков 252 252 бронзовых знака

ответ дан 31 окт 2010 в 17:55

Nicolas Chabanovsky Nicolas Chabanovsky

51.4k 87 87 золотых знаков 268 268 серебряных знаков 508 508 бронзовых знаков

Определение структуры данных

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

Для выполнения запросов будем использовать графический клиент pgAdmin, хотя также можно использовать консольный клиент psql.

Чтобы создать новую базу, данных откроем pgAdmin . В левой части программы выберем какую-нибудь базу данных, например, стандартную бд postgres, и нажмем на нее правой кнопкой мыши.

Создание базы данных в PostgreSQL и pgAdmin

В появившемся меню выберем пункт Query Tool. , и в центральной части программы откроется поле для ввода кода SQL. В это поле введем следующий код:

CREATE DATABASE usersdb;

CREATE DATABASE в PostgreSQL

Для выполнения кода нажмем на значок молнии, и после этого будет создана база данных usersdb.

Чтобы увидеть нашу базу данных, нажмем в левой части на узел Databases правой кнопкой мыши и в контекстном меню выберем Refresh. :

Произойдет обновление, и мы увидем созданную базу данных.

Промотр баз данных в pgAdmin

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

Удаление базы данных

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

Удаляемая база данных должна быть неактивной, то есть подключение к ней должно быть закрыта.

Например, удаление базы данных usersdb:

DROP DATABASE usersdb;

postgresql удалить базу

Для удаления базы данных в PostgreSQL необходимо выполнить следующие шаги:

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

-U postgres -d database_name 

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

SELECT current_database(); 

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

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'database_name' AND pid <> pg_backend_pid(); 

Теперь можно удалить базу данных, выполнив следующую команду:

Убедитесь, что база данных успешно удалена, повторно подключившись к серверу баз данных и проверив список баз данных:

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

PostgreSQL — Удаление базы данных

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

  • использовать DROP DATABASE, команду SQL ;
  • использовать команду dropdb в командной строке.

Будьте осторожны! Удаление базы данных означает удаление всех данных, хранившихся в ней!

Использование DROP DATABASE

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

Синтаксис

Синтаксис для команды DROP DATABASE приведен ниже:

DROP DATABASE [ IF EXISTS ] name

Параметры

В таблице приведены параметры, а также их значения.

S. No.

Параметр и Описание

IF EXISTS

Не выдавать ошибку, если база данных не существует. В этом случае выдается уведомление.

name

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

Мы не можем удалить базу данных, которая имеет какие-либо открытые соединения, включая наше собственное из psql или pgAdmin III. Мы должны переключиться на другую базу данных либо template1, если хотим удалить базу данных, к которой в данный момент подключены. Таким образом, может быть удобнее использовать вместо этого dropdb, которая является оболочкой данной команды.

Пример

Приведем простой пример, который удалит testdb из PostgreSQL:

postgres=# DROP DATABASE testdb; postgres-#

Использование команды dropdb

Dropdb – оболочка SQL команды DROP DATABASE. Принципиальной разницы между удалением баз данных с помощью этой утилиты и другими методами доступа к серверу нет. Dropdb уничтожает существующую базу данных PostgreSQL. Пользователь, выполняющий эту команду, должен быть суперпользователем базы данных или владельцем базы данных.

Синтаксис

Синтаксис для dropdb выглядит следующим образом:

dropdb [option. ] dbname

Параметры

В таблице ниже приведены параметры с их описанием.

S. No.

Параметр и Описание

dbname

Наименование таблицы, которую необходимо удалить.

option

Аргументы командной строки, принимаемые dropdb.

Опции

Таблица ниже содержит аргументы командной строки, принимаемые dropdb.

S. No.

Опция и Описание

e

Показывает команды, которые отправляются на сервер

i

Выдает запрос подтверждения, прежде чем сделать что-либо деструктивное.

V

Распечатать версию dropdb и выйти

ifexists

Не выдавать ошибку, если база данных не существует. В этом случае выдается уведомление.

help

Показать справку об аргументах командной строки dropdb и выйти.

h host

Указывает хост, на котором работает сервер

p port

Указывает порт TCP сокета домена Unix

U username

Указывает имя пользователя

w

Никогда не запрашивать пароль

W

Заставить dropdb запрашивать пароль перед подключением к базе данных

maintenancedb=dbname

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

Пример

dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****

Указанная выше команда удаляет базу данных testdb. В данном случае я использовал Имя пользователя postgres (нашел среди ролей pg_roles в template1), чтобы удалить базу данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *