The catalog pg_index
contains part of the information
about indexes. The rest is mostly in
pg_class
.
Table 42.18. pg_index
Columns
Name | Type | References | Description |
---|---|---|---|
indexrelid |
oid |
|
The OID of the pg_class entry for this index |
indrelid |
oid |
|
The OID of the pg_class entry for the table this index is for |
indnatts |
int2 |
The number of columns in the index (duplicates
pg_class.relnatts ) |
|
indisunique |
bool |
If true, this is a unique index. | |
indisprimary |
bool |
If true, this index represents the primary key of the table.
(indisunique should always be true when this is true.) |
|
indisclustered |
bool |
If true, the table was last clustered on this 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 key. A zero in this array indicates that the
corresponding index attribute is an expression over the table columns,
rather than a simple column reference.
|
indclass |
oidvector |
|
For each column in the index key this contains the OID of
the operator class to use. See
pg_opclass for details.
|
indexprs |
text |
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 |
text |
Expression tree (in nodeToString() representation)
for partial index predicate. Null if not a partial index. |