| 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, это уникальный индекс |
| 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
| Для каждого столбца в ключе индекса этот массив содержит OID правила сортировки для применения в этом индексе. |
| indclass
| oidvector
| pg_opclass.oid
| Для каждого столбца в ключе индекса этот массив содержит OID применяемых классов операторов. Подробнее это рассматривается в описании pg_opclass. |
| indoption
| int2vector
| | Это массив значений indnatts, в которых хранятся битовые флаги для отдельных столбцов. Значение этих флагов определяет метод доступа индекса. |
| indexprs
| pg_node_tree
| | Деревья выражений (в представлении nodeToString()) для атрибутов индекса, не являющихся простыми ссылками на столбцы. Этот список содержит один элемент для каждого нулевого значения в indkey. Значением может быть NULL, если все атрибуты индекса представляют собой простые ссылки. |
| indpred
| pg_node_tree
| | Дерево выражения (в представлении nodeToString()) для предиката частичного индекса, либо NULL, если это не частичный индекс. |