indexrelid oid (ссылается на pg_class .oid )
OID записи в pg_class для этого индекса |
indrelid oid (ссылается на pg_class .oid )
OID записи в pg_class для таблицы, к которой относится этот индекс |
indnatts int2
Общее число столбцов в индексе (повторяет значение pg_class.relnatts ). В это число входят и ключевые, и неключевые атрибуты. |
indnkeyatts int2
Число ключевых столбцов в индексе, без учёта неключевых столбцов, которые хранятся в индексе, но не учитываются в его семантике |
indisunique bool
Если true, это уникальный индекс |
indnullsnotdistinct bool
Используется только для уникальных индексов. Если false, значения NULL для этого уникального индекса будут считаться различными (поэтому индекс сможет содержать несколько значений NULL в столбце — это поведение PostgreSQL по умолчанию). Если true, значения NULL будут считаться равными (и индекс сможет содержать только одно значение NULL в столбце). |
indisprimary bool
Если true, этот индекс представляет первичный ключ таблицы (в этом случае и в поле indisunique должно быть значение true) |
indisexclusion bool
Если true, этот индекс поддерживает ограничение-исключение |
indimmediate bool
Если true, проверка уникальности осуществляется непосредственно при добавлении данных (неприменимо, если значение indisunique не true) |
indisclustered bool
Если true, таблица в последний раз кластеризовалась по этому индексу |
indisvalid bool
Если true, индекс можно применять в запросах. Значение false означает, что индекс, возможно, неполный: он будет тем не менее изменяться командами INSERT /UPDATE , но безопасно применять его в запросах нельзя. Если он уникальный, свойство уникальности также не гарантируется. |
indcheckxmin bool
Если true, запросы не должны использовать этот индекс, пока поле xmin данной записи в pg_index не окажется ниже их горизонта событий TransactionXmin , так как таблица может содержать оборванные цепочки HOT с видимыми несовместимыми строками |
indisready bool
Если true, индекс готов к добавлению данных. Значение false означает, что индекс игнорируется операциями INSERT /UPDATE . |
indislive bool
Если false, индекс находится в процессе удаления и его следует игнорировать для любых целей (включая вопрос применимости HOT) |
indisreplident bool
Если true, этот индекс выбран в качестве «идентификатора реплики» командой ALTER TABLE ... REPLICA IDENTITY USING INDEX ... |
indkey int2vector (ссылается на pg_attribute .attnum )
Это массив из indnatts значений, указывающих, какие столбцы таблицы индексирует этот индекс. Например, значения 1 3 будут означать, что в индекс входят первый и третий столбцы таблицы. Ключевые столбцы указываются перед неключевыми (включаемыми) столбцами. Ноль в этом массиве означает, что соответствующий атрибут индекса определяется выражением со столбцами таблицы, а не просто ссылкой на столбец. |
indcollation oidvector (ссылается на pg_collation .oid )
Для каждого столбца в ключе индекса этот массив (из indnkeyatts значений) содержит OID правила сортировки для применения в этом индексе либо 0, если тип данных этого столбца не сортируемый. |
indclass oidvector (ссылается на pg_opclass .oid )
Для каждого столбца в ключе индекса этот массив (из indnkeyatts значений) содержит OID применяемых классов операторов. Подробнее это рассматривается в описании pg_opclass . |
indoption int2vector
Это массив из indnkeyatts значений, в которых хранятся битовые флаги для отдельных столбцов. Значение этих флагов определяется методом доступа конкретного индекса. |
indexprs pg_node_tree
Деревья выражений (в представлении nodeToString() ) для атрибутов индекса, не являющихся простыми ссылками на столбцы. Этот список содержит один элемент для каждого нулевого значения в indkey . Значением может быть NULL, если все атрибуты индекса представляют собой простые ссылки. |
indpred pg_node_tree
Дерево выражения (в представлении nodeToString() ) для предиката частичного индекса, либо NULL, если это не частичный индекс. |