43.16. pg_index

Le catalogue pg_index contient une partie des informations sur les index. Le reste se trouve essentiellement dans pg_class.

Tableau 43-16. Colonnes de pg_index

NomTypeRéférencesDescription
indexrelidoidpg_class .oidOID de l'entrée dans pg_class pour cet index
indrelidoidpg_class .oidOID de l'entrée dans pg_class de la table sur laquelle cet index porte.
indkeyint2vectorpg_attribute .attnum Tableau comportant indnatts valeurs (et pas plus de INDEX_MAX_KEYS), qui précise les colonnes indexées. Par exemple, une valeur de 1 3 indique que la première et la troisième colonne de la table forment la clé de l'index. Une valeur de zéro dans le tableau indique que l'attribut d'index correspondant est une expression sur les colonnes de la table, et non pas une simple référence de colonne.
indclassoidvectorpg_opclass .oid Pour chaque colonne dans la clé d'index, ce champ contient l'OID de l'opérateur de classe à utiliser. Pour plus de détails, voir pg_opclass.
indnattsint2 Nombre de colonnes de l'index (duplique pg_class.relnatts)
indisuniquebool Vrai s'il s'agit d'un index unique.
indisprimarybool Vrai si cet index est la clé primaire de la table. (indisunique doit toujours être vrai quand ce champ l'est aussi.)
indisclusteredbool Vrai si la table était organisée en fonction de cet index.
indexprstext Arbres d'expressions (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 avec un élément pour chaque entrée à zéro dans indkey. Nul si tous les attributs d'index sont de simples références.
indpredtext  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.