51.33. pg_opclass #

В каталоге pg_opclass определяются классы операторов для индексных методов доступа. Каждый класс операторов устанавливает конкретную операцию для индексируемых столбцов определённого типа данных и определённого метода доступа. Класс операторов по сути устанавливает, что некоторое семейство операторов применимо к определённому индексируемому типу столбца. Набор операторов из семейства, которые действительно можно использовать с индексируемым столбцом, образуют те, что принимают тип данных столбца в качестве левого операнда.

Классы операторов углублённо рассматриваются в Разделе 36.16.

Таблица 51.33. Столбцы pg_opclass

Тип столбца

Описание

oid oid

Идентификатор строки

opcmethod oid (ссылается на pg_am.oid)

Индексный метод доступа, для которого создан этот класс операторов

opcname name

Имя этого класса операторов

opcnamespace oid (ссылается на pg_namespace.oid)

Пространство имён этого класса операторов

opcowner oid (ссылается на pg_authid.oid)

Владелец класса операторов

opcfamily oid (ссылается на pg_opfamily.oid)

Семейство операторов, содержащее этот класс операторов

opcintype oid (ссылается на pg_type.oid)

Тип данных, индексируемый данным классом операторов

opcdefault bool

True, если этот класс операторов применяется по умолчанию для opcintype

opckeytype oid (ссылается на pg_type.oid)

Тип данных, хранимых в индексе, или ноль, если он совпадает с opcintype


Значение opcmethod класса операторов должно совпадать с opfmethod для содержащего его семейства операторов. Кроме того, должно быть не больше одной строки в pg_opclass, в которой opcdefault равно true для любой данной комбинации opcmethod и opcintype.