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