indexrelidoid (referencespg_class.oid)
The OID of thepg_class entry for this index |
indrelidoid (referencespg_class.oid)
The OID of thepg_class entry for the table this index is for |
indnattsint2
The total number of columns in the index (duplicatespg_class.relnatts); this number includes both key and included attributes |
indnkeyattsint2
The number ofkey columns in the index, not counting anyincluded columns, which are merely stored and do not participate in the index semantics |
indisuniquebool
If true, this is a unique index |
indnullsnotdistinctbool
This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column). |
indisprimarybool
If true, this index represents the primary key of the table (indisunique should always be true when this is true) |
indisexclusionbool
If true, this index supports an exclusion constraint |
indimmediatebool
If true, the uniqueness check is enforced immediately on insertion (irrelevant ifindisunique is not true) |
indisclusteredbool
If true, the table was last clustered on this index |
indisvalidbool
If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified byINSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either. |
indcheckxminbool
If true, queries must not use the index until thexmin of thispg_index row is below theirTransactionXmin event horizon, because the table may contain brokenHOT chains with incompatible rows that they can see |
indisreadybool
If true, the index is currently ready for inserts. False means the index must be ignored byINSERT/UPDATE operations. |
indislivebool
If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions) |
indisreplidentbool
If true this index has been chosen as“replica identity” usingALTER TABLE ... REPLICA IDENTITY USING INDEX ... |
indkeyint2vector (referencespg_attribute.attnum)
This is an array ofindnatts values that indicate which table columns this index indexes. For example, a value of1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference. |
indcollationoidvector (referencespg_collation.oid)
For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type. |
indclassoidvector (referencespg_opclass.oid)
For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. Seepg_opclass for details. |
indoptionint2vector
This is an array ofindnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method. |
indexprspg_node_tree
Expression trees (innodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry inindkey. Null if all index attributes are simple references. |
indpredpg_node_tree
Expression tree (innodeToString() representation) for partial index predicate. Null if not a partial index. |