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 52.26. Colonnes de pg_index
Nom | Type | Références | Description |
---|---|---|---|
indexrelid | oid |
| OID de l'entrée dans pg_class de
l'index |
indrelid | oid |
| OID de l'entrée dans pg_class de la table sur
laquelle porte l'index
|
indnatts | int2 | Le nombre total de colonnes dans l'index (duplique
pg_class.relnatts ). Ce nombre inclut les attributs
clé et supplémentaires. | |
indnkeyatts | int2 | Le nombre de colonnes clés dans l'index, sans compter les colonnes supplémentaires, qui sont simplement enregistrés et ne participent pas à la sémantique de l'index | |
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.) | |
indisexclusion | bool | Vrai s'il s'agit de l'index supportant une contrainte d'exclusion | |
indimmediate | bool | Si vrai, la vérification de l'unicité est forcée immédiatement
lors de l'insertion (inutile si indisunique
ne vaut pas true) | |
indisclustered | bool | Vrai si la table a été réorganisée en fonction de l'index | |
indisvalid | bool | Si ce drapeau est 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é, cette propriété n'est plus garantie. | |
indcheckxmin | bool |
Si vrai, les requêtes ne doivent pas utiliser l'index tant que le
xmin de cette ligne de
pg_index est en-dessous de leur horizon
d'événements TransactionXmin , car la table peut contenir
des chaînes HOT cassées avec des
lignes incompatibles qu'elles peuvent voir.
| |
indisready | bool |
Si vrai, l'index est actuellement prêt pour les insertions. Faux indique
que l'index doit être ignoré par les opérations
INSERT /UPDATE
| |
indislive | bool | Si faux, l'index est en cours de suppression et devrait être complètement ignoré (y compris pour les décisions sur la sûreté de HOT) | |
indisreplident | bool |
Si vrai, cet index a été choisi comme « identité de réplication »
en utilisant ALTER TABLE ... REPLICA IDENTITY USING INDEX
...
| |
indkey | int2vector |
|
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. Les colonnes clés viennent
avant les colonnes supplémentaires, non clés. 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.
|
indcollation | oidvector |
|
Pour chaque colonne dans la clé de l'index (indnkeyatts values), cette colonne contient
l'OID du collationnement à utiliser pour l'index, ou zéro si la colonne
n'est pas d'un type de données collationnable.
|
indclass | oidvector |
|
Pour chaque colonne de la clé d'indexation (indnkeyatts values), contient l'OID de la
classe d'opérateur à utiliser. Voir
pg_opclass
pour plus de détails.
|
indoption | int2vector |
C'est un tableau de valeurs indnkeyatts qui
enregistrent des drapeaux d'information par colonne. La signification
de ces drapeaux est définie par la méthode d'accès à l'index.
| |
indexprs | pg_node_tree | 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 | pg_node_tree | 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.
|