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