DROP DATABASE
DROP DATABASE — удалить базу данных
Синтаксис
DROP DATABASE [ IF EXISTS ]имя
[ [ WITH ] (параметр
[, ...] ) ] Здесь допускаетсяпараметр
: FORCE
Описание
Команда DROP DATABASE
удаляет базу данных. Она удаляет из системного каталога записи, относящиеся к базе, а также удаляет с диска каталог, содержащий данные. Выполнить её может только владелец базы данных. Кроме того, нельзя удалить базу, к которой вы подключены в данный момент. (Чтобы выполнить эту команду, подключитесь к postgres
или любой другой базе данных.) Также команда не будет выполнена, когда к целевой базе подключены какие-то ещё пользователи, если вы не добавите указание FORCE
, описанное ниже.
Действие команды DROP DATABASE
нельзя отменить. Используйте её с осторожностью!
Параметры
IF EXISTS
Не считать ошибкой, если база данных не существует. В этом случае будет выдано замечание.
имя
Имя базы данных, подлежащей удалению.
FORCE
Попытаться принудительно завершить все существующие подключения к целевой базе данных. Подключения не завершаются, если в целевой базе имеются подготовленные транзакции, активные слоты логической репликации или подписки.
Завершает подключения фонового рабочего процесса и подключения, которые разрешено завершить текущему пользователю с помощью
pg_terminate_backend
, описанной в Подразделе 9.27.2. Если завершатся не все подключения, эта команда выдаст ошибку.
Примечания
DROP DATABASE
нельзя выполнять внутри блока транзакции.
Эту команду нельзя выполнить, если установлено подключение к удаляемой базе данных. Поэтому может быть удобнее вместо неё использовать программу dropdb, которая сама вызывает эту команду внутри.
Совместимость
Оператор DROP DATABASE
отсутствует в стандарте SQL.