| PostgreSQL 7.4.8 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 43. System Catalogs | Fast Forward | Next |
The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.
Table 43-16. pg_index Columns
| Name | Type | References | Description |
|---|---|---|---|
| indexrelid | oid | pg_class.oid | The OID of the pg_class entry for this index |
| indrelid | oid | pg_class.oid | The OID of the pg_class entry for the table this index is for |
| indkey | int2vector | pg_attribute.attnum | This is an array of indnatts (up to INDEX_MAX_KEYS) 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 | pg_opclass.oid | For each column in the index key this contains the OID of the operator class to use. See pg_opclass for details. |
| 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. | |
| 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. |