CREATE OPERATOR FAMILY
CREATE OPERATOR FAMILY — создать семейство операторов
Синтаксис
CREATE OPERATOR FAMILYимя
USINGиндексный_метод
Описание
CREATE OPERATOR FAMILY
создаёт новое семейство операторов. Семейство операторов определяет коллекцию связанных классов операторов и, возможно, некоторые дополнительные операторы и вспомогательные функции, совместимые с этими классами, но не требующиеся для функционирования каких-либо индексов. (Операторы и функции, требующиеся для работы индексов, следует группировать в соответствующем классе операторов, а не «слабо» связывать в семействе операторов. Обычно операторы с операндами одного типа привязываются к классам операторов, тогда как операторы для двух разных типов могут быть слабо связаны в семействе, содержащем классы операторов для обоих типов.)
Создаваемое семейство операторов изначально не содержит ничего. Оно должно наполняться последующими командами CREATE OPERATOR CLASS
, добавляющими в него классы операторов, и, возможно, командами ALTER OPERATOR FAMILY
, добавляющими «слабосвязанные» операторы и соответствующие вспомогательные функции.
Если указывается имя схемы, семейство операторов создаётся в указанной схеме, в противном случае — в текущей. Два семейства операторов в одной схеме могут иметь одинаковые имена, только если они предназначены для разных методов индекса.
Владельцем семейства операторов становится пользователь, создавший его. В настоящее время создавать семейства операторов могут только суперпользователи. (Это ограничение введено потому, что ошибочное определение семейства может вызвать нарушения или даже сбой в работе сервера.)
За дополнительными сведениями обратитесь к Разделу 37.16.
Параметры
имя
Имя создаваемого семейства операторов, возможно, дополненное схемой.
индексный_метод
Имя индексного метода, для которого предназначено это семейство операторов.
Совместимость
CREATE OPERATOR FAMILY
является расширением Postgres Pro. Команда CREATE OPERATOR FAMILY
отсутствует в стандарте SQL.