43.18. pg_index

Le catalogue pg_index contient une partie des informations concernant les index. Le reste se trouve pour l'essentiel dans pg_class.

Tableau 43.18. Colonnes de pg_index

Nom Type Références Description
indexrelid oid pg_class.oid OID de l'entrée dans pg_class de l'index
indrelid oid pg_class.oid OID de l'entrée dans pg_class de la table sur laquelle porte l'index
indnatts int2   Nombre de colonnes de l'index (duplique pg_class.relnatts)
indisunique bool   Vrai s'il s'agit d'un index d'unicité
indisprimary bool   Vrai s'il s'agit de l'index de clé primaire de la table (indisunique doit toujours être vrai quand ce champ l'est.)
indisclustered bool   Vrai si la table a été réorganisée en fonction de l'index
indisvalid bool   Si vrai, l'index est valide pour les requêtes. Faux signifie que l'index peut être incomplet : les opérations INSERT/UPDATE peuvent toujours l'utiliser, mais il ne peut pas être utilisé sans risque pour les requêtes, et, dans le cas d'un index d'unicité, celle-ci n'est plus non-plus garantie.
indkey int2vector pg_attribute.attnum C'est un tableau de valeurs indnatts qui indique les colonnes de la table indexées. Par exemple, une valeur 1 3 signifie que la première et la troisième colonne de la table composent la clé de l'index. Un 0 dans ce tableau indique que l'attribut de l'index correspondant est une expression sur les colonnes de la table plutôt qu'une simple référence de colonne.
indclass oidvector pg_opclass.oid Pour chaque colonne de la clé d'indexation, contient l'OID de la classe d'opérateur à utiliser. Voir pg_opclass pour plus de détails.
indexprs text   Arbres d'expression (en représentation nodeToString()) pour les attributs d'index qui ne sont pas de simples références de colonnes. Il s'agit d'une liste qui contient un élément par entrée à 0 dans indkey. Nul si tous les attributs d'index sont de simples références.
indpred text   Arbre d'expression (en représentation nodeToString()) pour les prédicats d'index partiels. Nul s'il ne s'agit pas d'un index partiel.