PostgreSQLLa base de données la plus sophistiquée au monde.

42.18. pg_index

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

Tableau 42.18. Colonnes de pg_index

Nom Type Références Description
indexrelid oid pg_class .oid OID de l'entrée dans pg_class pour cet index
indrelid oid pg_class .oid OID de l'entrée dans pg_class de la table sur laquelle cet index porte.
indnatts int2   Nombre de colonnes de l'index (duplique pg_class.relnatts)
indisunique bool   Vrai s'il s'agit d'un index unique.
indisprimary bool   Vrai si cet index est la clé primaire de la table. (indisunique doit toujours être vrai quand ce champ l'est aussi.)
indisclustered bool   Vrai si la table était organisée en fonction de cet index.
indkey int2vector pg_attribute.attnum C'est un tableau de valeurs indnatts qui indique quelles colonnes de table sont compris dans cet index. Par exemple, une valeur 1 3 signifie que la première et la troisième colonne de la table sont la clé de l'index. Un zéro 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 dans la clé d'indexage, ceci contient l'OID de la classe d'opérateur à utiliser. Voir pg_opclass pour plus de détails.
indexprs text   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.
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.