PostgreSQL - база данных DROP
В этой главе мы обсудим, как удалить базу данных в PostgreSQL. Есть два варианта удаления базы данных -
- Использование SQL-команды DROP DATABASE.
- Использование dropdb исполняемого файла командной строки.
Будьте осторожны перед использованием этой операции, потому что удаление существующей базы данных приведет к потере всей информации, хранящейся в базе данных.
Использование DROP DATABASE
Эта команда удаляет базу данных. Он удаляет записи каталога для базы данных и удаляет каталог, содержащий данные. Его может выполнить только владелец базы данных. Эта команда не может быть выполнена, пока вы или кто-либо еще подключены к целевой базе данных (подключитесь к postgres или любой другой базе данных, чтобы выполнить эту команду).
Синтаксис
Синтаксис для DROP DATABASE приведен ниже -
DROP DATABASE [ IF EXISTS ] name
Параметры
В таблице перечислены параметры с их описанием.
С. Нет. | Параметр и описание |
---|---|
1 | IF EXISTS Не выдавать ошибку, если база данных не существует. В этом случае выдается уведомление. |
2 | name Имя удаляемой базы данных. |
Мы не можем удалить базу данных, которая имеет открытые соединения, включая наше собственное соединение с psql или pgAdmin III . Мы должны переключиться на другую базу данных или template1, если мы хотим удалить базу данных, к которой мы в настоящее время подключены. Таким образом, может быть удобнее использовать программу dropdb , которая является оболочкой для этой команды.
пример
Ниже приведен простой пример, который удалит testdb из вашей схемы PostgreSQL -
postgres=# DROP DATABASE testdb;
postgres-#
Использование команды dropdb
Исполняемый файл командной строки PostgresSQL dropdbэто оболочка командной строки для SQL-команды DROP DATABASE . Эффективной разницы между удалением баз данных с помощью этой утилиты и других методов доступа к серверу нет. dropdb уничтожает существующую базу данных PostgreSQL. Пользователь, выполняющий эту команду, должен быть суперпользователем базы данных или владельцем базы данных.
Синтаксис
Синтаксис dropdb показан ниже -
dropdb [option...] dbname
Параметры
В следующей таблице перечислены параметры с их описанием.
С. Нет. | Параметр и описание |
---|---|
1 | dbname Имя удаляемой базы данных. |
2 | option аргументы командной строки, которые принимает dropdb. |
Параметры
В следующей таблице перечислены аргументы командной строки, которые принимает dropdb:
С. Нет. | Вариант и описание |
---|---|
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 шаблона 1) имя пользователя для удаления базы данных.