DROP SCHEMA в PostgreSQL: удаление схемы

В PostgreSQL команда DROP SCHEMA используется для удаления схемы из базы данных. После удаления схемы все её объекты, включая таблицы, представления и функции, также удаляются.

Синтаксис DROP SCHEMA

DROP SCHEMA [IF EXISTS] имя_схемы [CASCADE | RESTRICT];
  • IF EXISTS — предотвращает ошибку, если схема отсутствует.
  • CASCADE — удаляет схему вместе со всеми объектами внутри неё.
  • RESTRICT — запрещает удаление, если в схеме есть объекты (по умолчанию).

Удаление пустой схемы

Если схема sales не содержит объектов, её можно удалить так:

DROP SCHEMA sales;

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

Чтобы избежать ошибки, если схема отсутствует, используется IF EXISTS:

DROP SCHEMA IF EXISTS sales;

Удаление схемы с зависимыми объектами

Если схема содержит таблицы или другие объекты, но её нужно удалить вместе с ними, применяется CASCADE:

DROP SCHEMA sales CASCADE;

Запрет удаления, если есть объекты

Если схема не должна быть удалена, если в ней есть объекты, используется RESTRICT:

DROP SCHEMA sales RESTRICT;

Если в схеме sales есть таблицы или другие объекты, PostgreSQL выдаст ошибку и не выполнит удаление.