DROP OPERATOR CLASS
DROP OPERATOR CLASS — удалить класс операторов
Синтаксис
DROP OPERATOR CLASS [ IF EXISTS ]имя
USINGиндексный_метод
[ CASCADE | RESTRICT ]
Описание
DROP OPERATOR CLASS
удаляет существующий класс операторов. Выполнить эту команду может только владелец класса операторов.
DROP OPERATOR CLASS
не удаляет операторы или функции, связанные с этим классом. Если же существуют индексы, зависящие от этого класса, класс будет удалён успешно (вместе с индексами), только если добавить указание CASCADE
.
Параметры
IF EXISTS
Не считать ошибкой, если класс операторов не существует. В этом случае будет выдано замечание.
имя
Имя существующего класса операторов (возможно, дополненное схемой).
индексный_метод
Имя индексного метода, для которого предназначен этот класс операторов.
CASCADE
Автоматически удалять объекты, зависящие от данного класса операторов (например, использующие его индексы), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.14).
RESTRICT
Отказать в удалении класса операторов, если от него зависят какие-либо объекты. Это поведение по умолчанию.
Примечания
DROP OPERATOR CLASS
не удалит семейство операторов, содержавшее этот класс, даже если в этом семействе больше ничего не останется (в том числе, если семейство было неявно создано командой CREATE OPERATOR CLASS
). Пустое семейство операторов безвредно, но порядка ради затем следует удалить и его, командой DROP OPERATOR FAMILY
; или, возможно, выполнить DROP OPERATOR FAMILY
в первую очередь.
Примеры
Удаление класса операторов B-дерева с именем widget_ops
:
DROP OPERATOR CLASS widget_ops USING btree;
Эта команда не будет выполнена, если в базе существуют индексы, использующие этот класс. Чтобы удалить такие индексы вместе с классом операторов, нужно добавить указание CASCADE
.
Совместимость
Команда DROP OPERATOR CLASS
отсутствует в стандарте SQL.
ALTER LARGE OBJECT
ALTER LARGE OBJECT — change the definition of a large object
Synopsis
ALTER LARGE OBJECTlarge_object_oid
OWNER TO {new_owner
| CURRENT_USER | SESSION_USER }
Description
ALTER LARGE OBJECT
changes the definition of a large object.
You must own the large object to use ALTER LARGE OBJECT
. To alter the owner, you must also be a direct or indirect member of the new owning role. (However, a superuser can alter any large object anyway.) Currently, the only functionality is to assign a new owner, so both restrictions always apply.
Parameters
large_object_oid
OID of the large object to be altered
new_owner
The new owner of the large object
Compatibility
There is no ALTER LARGE OBJECT
statement in the SQL standard.