DROP OPERATOR CLASS

DROP OPERATOR CLASS — удалить класс операторов

Синтаксис

DROP OPERATOR CLASS [ IF EXISTS ] имя USING индексный_метод [ CASCADE | RESTRICT ]

Описание

Команда DROP OPERATOR CLASS удаляет существующий класс операторов. Для выполнения этой команды нужно быть владельцем соответствующего класса операторов.

DROP OPERATOR CLASS не удаляет операторы и функции, связанные с этим классом. Если есть какие-либо индексы, зависящие от этого класса оператора, необходимо будет указать CASCADE, чтобы удаление было успешно завершено.

Параметры

IF EXISTS

Не считать ошибкой, если класс операторов не существует. В этом случае будет выдано соответствующее уведомление.

имя

Имя существующего класса операторов (может быть дополнено схемой).

индексный_метод

Имя метода доступа к индексу, для которого предназначен класс операторов.

CASCADE

Автоматически удалять объекты, зависящие от класса операторов (например, индексы), и в свою очередь все объекты, зависящие от этих объектов (см.раздел Отслеживание зависимостей).

RESTRICT

Запретить удалять класс операторов, если от него зависят какие-либо объекты. Это поведение по умолчанию.

Примечания

DROP OPERATOR CLASS не удаляет семейство операторов, содержащее класс, даже если в семействе больше ничего не останется (в частности, в том случае, когда семейство было неявно создано с помощью команды CREATE OPERATOR CLASS). Пустое семейство операторов безвредно, но из соображений аккуратности его можно удалить командой DROP OPERATOR FAMILY. Или, возможно, лучше изначально использовать DROP OPERATOR FAMILY.

Примеры

Удаление класса операторов B-дерева с именем widget_ops:

DROP OPERATOR CLASS widget_ops USING btree;

Эта команда не будет выполнена, если существуют какие-либо индексы, использующие этот класс операторов. Чтобы удалить такие индексы вместе с классом оператора, нужно добавить в команду указание CASCADE.

Совместимость

В стандарте SQL нет команды DROP OPERATOR CLASS.

См. также

ALTER OPERATOR CLASS, CREATE OPERATOR CLASS, DROP OPERATOR FAMILY