ALTER OPERATOR CLASS
ALTER OPERATOR CLASS — изменить определение класса операторов
Синтаксис
ALTER OPERATOR CLASSимя
USINGиндексный_метод
RENAME TOновое_имя
ALTER OPERATOR CLASSимя
USINGиндексный_метод
OWNER TO {новый_владелец
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER OPERATOR CLASSимя
USINGиндексный_метод
SET SCHEMAновая_схема
Описание
ALTER OPERATOR CLASS
изменяет определение класса операторов.
Выполнить ALTER OPERATOR CLASS
может только владелец соответствующего класса операторов. Чтобы сменить владельца, необходимо быть непосредственным или опосредованным членом новой роли-владельца, а эта роль должна иметь право CREATE
в схеме класса операторов. (С такими ограничениями при смене владельца не происходит ничего такого, что нельзя было бы сделать, имея право удалить и вновь создать класс операторов. Однако суперпользователь может сменить владельца классов операторов в любом случае.)
Параметры
имя
Имя существующего класса операторов (возможно, дополненное схемой).
индексный_метод
Имя индексного метода, для которого предназначен этот класс операторов.
новое_имя
Новое имя класса операторов.
новый_владелец
Новый владелец класса операторов.
новая_схема
Новая схема класса операторов.
Совместимость
Команда ALTER OPERATOR CLASS
отсутствует в стандарте SQL.
63.2. Built-in Operator Classes
The core PostgreSQL distribution includes the GIN operator classes shown in Table 63.1. (Some of the optional modules described in Appendix F provide additional GIN operator classes.)
Table 63.1. Built-in GIN Operator Classes
Name | Indexed Data Type | Indexable Operators |
---|---|---|
_abstime_ops | abstime[] | && <@ = @> |
_bit_ops | bit[] | && <@ = @> |
_bool_ops | boolean[] | && <@ = @> |
_bpchar_ops | character[] | && <@ = @> |
_bytea_ops | bytea[] | && <@ = @> |
_char_ops | "char"[] | && <@ = @> |
_cidr_ops | cidr[] | && <@ = @> |
_date_ops | date[] | && <@ = @> |
_float4_ops | float4[] | && <@ = @> |
_float8_ops | float8[] | && <@ = @> |
_inet_ops | inet[] | && <@ = @> |
_int2_ops | smallint[] | && <@ = @> |
_int4_ops | integer[] | && <@ = @> |
_int8_ops | bigint[] | && <@ = @> |
_interval_ops | interval[] | && <@ = @> |
_macaddr_ops | macaddr[] | && <@ = @> |
_money_ops | money[] | && <@ = @> |
_name_ops | name[] | && <@ = @> |
_numeric_ops | numeric[] | && <@ = @> |
_oid_ops | oid[] | && <@ = @> |
_oidvector_ops | oidvector[] | && <@ = @> |
_reltime_ops | reltime[] | && <@ = @> |
_text_ops | text[] | && <@ = @> |
_time_ops | time[] | && <@ = @> |
_timestamp_ops | timestamp[] | && <@ = @> |
_timestamptz_ops | timestamp with time zone[] | && <@ = @> |
_timetz_ops | time with time zone[] | && <@ = @> |
_tinterval_ops | tinterval[] | && <@ = @> |
_varbit_ops | bit varying[] | && <@ = @> |
_varchar_ops | character varying[] | && <@ = @> |
jsonb_ops | jsonb | ? ?& ?| @> |
jsonb_path_ops | jsonb | @> |
tsvector_ops | tsvector | @@ @@@ |
Of the two operator classes for type jsonb
, jsonb_ops
is the default. jsonb_path_ops
supports fewer operators but offers better performance for those operators. See Section 8.14.4 for details.