SYSTEM CATALOGS / SYSTEM CATALOGS
pg_index
Read PG 18 manual ↗The catalog pg_index contains part of the information about indexes.
- Kind
- System catalogs
- Columns in this snapshot
- 21
- Definition source
- English manual
Columns 21
| Column | Type | Description / reference |
|---|---|---|
indexrelid | oid | The OID of the pg_class entry for this index pg_class.oid |
indrelid | oid | The OID of the pg_class entry for the table this index is for pg_class.oid |
indnatts | int2 | The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes |
indnkeyatts | int2 | The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics |
indisunique | bool | If true, this is a unique index |
indnullsnotdistinct | bool | 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). |
indisprimary | bool | If true, this index represents the primary key of the table (indisunique should always be true when this is true) |
indisexclusion | bool | If true, this index supports an exclusion constraint |
indimmediate | bool | If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true) |
indisclustered | bool | If true, the table was last clustered on this index |
indisvalid | bool | If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either. |
indcheckxmin | bool | If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see |
indisready | bool | If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations. |
indislive | bool | If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions) |
indisreplident | bool | If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ... |
indkey | int2vector | This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 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. pg_attribute.attnum |
indcollation | oidvector | 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. pg_collation.oid |
indclass | oidvector | For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details. pg_opclass.oid |
indoption | int2vector | This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method. |
indexprs | pg_node_tree | Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references. |
indpred | pg_node_tree | Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index. |
Column history across versions
| Column | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
indexrelid | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indrelid | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indnatts | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisunique | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisprimary | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisexclusion | · | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indimmediate | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisclustered | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisvalid | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indcheckxmin | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisready | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indislive | · | · | · | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indisreplident | · | · | · | · | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indkey | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indcollation | · | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indclass | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indoption | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indexprs | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indpred | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indnkeyatts | · | · | · | · | · | · | · | · | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
indnullsnotdistinct | · | · | · | · | · | · | · | · | · | · | · | · | ● | ● | ● | ● | ● | ● |
Version history 7
- PG 14 → 15changed
- PG 10 → 11changed
- PG 9.6 → 10changed
- PG 9.3 → 9.4changed
- PG 9.2 → 9.3changed
- PG 9.1 → 9.2changed
- PG 9.0 → 9.1changed
Definition snapshot: english-manuals:ce6c2acda3756d53845a87e2be9… · English manual source