CREATE OPERATOR FAMILY

Определяет новое семейство операторов.

Синтаксис

CREATE OPERATOR FAMILY <name>  USING <index_method>  

Описание

Команда CREATE OPERATOR FAMILY создаёт новое семейство операторов. Семейство операторов определяет набор связанных классов операторов, а также, возможно, дополнительные операторы и вспомогательные функции, совместимые с этими классами операторов, но не являющиеся необходимыми для работы отдельного индекса. (Операторы и функции, критически важные для индексов, должны быть сгруппированы внутри соответствующего класса операторов, а не находиться «свободно» в составе семейства операторов. Как правило, операторы одного типа данных привязываются к классам операторов, тогда как операторы, работающие с разными типами данных, могут оставаться свободными в рамках семейства операторов, содержащего классы операторов для обоих типов данных.)

Новое семейство операторов изначально пустое. Его следует заполнить с помощью последующих команд CREATE OPERATOR CLASS для добавления входящих в него классов операторов, а также, при необходимости, команд ALTER OPERATOR FAMILY для добавления «свободных» операторов и соответствующих им вспомогательных функций.

Если указано имя схемы, то семейство операторов создается в указанной схеме. В противном случае оно создается в текущей схеме. Два семейства операторов в одной схеме могут иметь одинаковые имена только в том случае, если они предназначены для разных методов индексов.

Пользователь, определивший семейство операторов, становится его владельцем. В настоящее время пользователь, создающий семейство, должен быть суперпользователем. (Это ограничение установлено потому, что некорректное определение семейства операторов может привести к путанице или даже аварийному завершению работы сервера.)

Дополнительную информацию см. в разделе «Интерфейс расширений с индексами» документации PostgreSQL.

Параметры

  • name
    • Имя создаваемого семейства операторов (может указываться с именем схемы).
  • index_method
    • Имя метода индекса, для которого предназначено данное семейство операторов.

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

CREATE OPERATOR FAMILY является расширением Database. В стандарте SQL нет оператора CREATE OPERATOR FAMILY.

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

ALTER OPERATOR FAMILY, DROP OPERATOR FAMILY, ALTER OPERATOR CLASS, CREATE OPERATOR CLASS, DROP OPERATOR CLASS