Перейти к основному содержимому

ALTER OPERATOR

примечание

Эта страница переведена при помощи нейросети GigaChat.

ALTER OPERATOR — изменение определения оператора.

Синтаксис

ALTER OPERATOR name ( { left_type | NONE } , right_type )
OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }

ALTER OPERATOR name ( { left_type | NONE } , right_type )
SET SCHEMA new_schema

ALTER OPERATOR name ( { left_type | NONE } , right_type )
SET ( { RESTRICT = { res_proc | NONE }
| JOIN = { join_proc | NONE }
} [, ... ] )

Описание

ALTER OPERATOR изменяет определение оператора.

Чтобы выполнить эту команду, необходимо быть владельцем оператора. Изменить владельца можно только при условии, что текущий пользователь является прямым или косвенным членом новой роли владельца, а сама роль обладает привилегией CREATE в схеме. Эти требования обеспечивают, что смена владельца не предоставляет дополнительных возможностей, которых нельзя было бы достичь удалением и повторным созданием оператора. Исключение составляют суперпользователи, которые могут изменять владельца любого оператора без ограничений.

Параметры

name

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

left_type

Тип данных левого операнда оператора. Если у оператора нет левого операнда, укажите NONE.

right_type

Тип данных правого операнда оператора.

new_owner

Имя нового владельца оператора.

new_schema

Новая схема оператора.

res_proc

Функция оценки селективности для условий ограничения. Укажите NONE, чтобы удалить текущую функцию оценки.

join_proc

Функция оценки селективности для условий соединения. Укажите NONE, чтобы удалить текущую функцию оценки.

Примеры

Изменение владельца пользовательского оператора a @@ b для типа text:

ALTER OPERATOR @@ (text, text) OWNER TO joe;

Назначение новых функций оценки селективности для пользовательского оператора a && b для типа int[]:

ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);

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

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

Смотрите также

CREATE OPERATOR, DROP OPERATOR