DROP DATABASE в PostgreSQL: удаление базы данных

Оператор DROP DATABASE в PostgreSQL используется для удаления существующей базы данных. После выполнения команды все данные и структура базы безвозвратно удаляются.

Основы оператора DROP DATABASE

Базовый синтаксис:

DROP DATABASE database_name;

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

DROP DATABASE mydb;

Удаление базы данных, если она существует

Чтобы избежать ошибки при удалении несуществующей базы, используется IF EXISTS:

DROP DATABASE IF EXISTS mydb;

Принудительное удаление базы данных

Если база данных используется другими подключениями, команда DROP DATABASE не выполнится. Для принудительного удаления можно завершить все активные соединения:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname = 'mydb';

DROP DATABASE mydb;

Особенности и ограничения

  • Оператор DROP DATABASE может выполнять только суперпользователь или владелец базы данных.
  • Удаление базы данных невозможно, если в ней есть активные соединения.
  • После удаления базы данных её нельзя восстановить.