PostgreSQL - Удаление базы данных
В данном разделе мы обсудим, как удалить базу данных в PostgreSQL. Есть два способа сделать это:
- использовать DROP DATABASE, команду SQL ;
- использовать команду dropdb в командной строке.
Будьте осторожны! Удаление базы данных означает удаление всех данных, хранившихся в ней!
Использование DROP DATABASE
Данная команда удаляет базу данных. Она удаляет записи каталога для базы данных, а также каталог, содержащий данные. Команда может быть выполнена только владельцем базы данных. Она не может быть выполнена, пока Вы или кто-то еще подключен к удаляемой базе данных.
Синтаксис
Синтаксис для команды DROP DATABASE приведен ниже:
DROP DATABASE [ IF EXISTS ] name
Параметры
В таблице приведены параметры, а также их значения.
|
S. No. |
Параметр и Описание |
|
1 |
IF EXISTS Не выдавать ошибку, если база данных не существует. В этом случае выдается уведомление. |
|
2 |
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. |
Параметр и Описание |
|
1 |
dbname Наименование таблицы, которую необходимо удалить. |
|
2 |
option Аргументы командной строки, принимаемые dropdb. |
Опции
Таблица ниже содержит аргументы командной строки, принимаемые dropdb.
|
S. No. |
Опция и Описание |
|
1 |
-e Показывает команды, которые отправляются на сервер |
|
2 |
-i Выдает запрос подтверждения, прежде чем сделать что-либо деструктивное. |
|
3 |
-V Распечатать версию dropdb и выйти |
|
4 |
--if-exists Не выдавать ошибку, если база данных не существует. В этом случае выдается уведомление. |
|
5 |
--help Показать справку об аргументах командной строки dropdb и выйти. |
|
6 |
-h host Указывает хост, на котором работает сервер |
|
7 |
-p port Указывает порт TCP сокета домена Unix |
|
8 |
-U username Указывает имя пользователя |
|
9 |
-w Никогда не запрашивать пароль |
|
10 |
-W Заставить dropdb запрашивать пароль перед подключением к базе данных |
|
11 |
--maintenance-db=dbname Указывает название базы данных, к которой необходимо подключиться, чтобы удалить базу данных. |
Пример
dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****
Указанная выше команда удаляет базу данных testdb. В данном случае я использовал Имя пользователя postgres (нашел среди ролей pg_roles в template1), чтобы удалить базу данных.



