pg_statistic_ext
Le catalogue pg_statistic_ext
contient des
définitions des statistiques étendues pour l'optimiseur de requêtes. Chaque ligne de ce
catalogue correspond à un objet statistique créé
avec CREATE STATISTICS
.
Normalement, il existe un enregistrement, avec
stxdinherit
= false
, pour
chaque objet statistique qui a été analysé. Si la table a un fils dans un
héritage ou une partition, un deuxième enregistrelent avec
stxdinherit
= true
est aussi
créé. Cette ligne représente l'objet statistique dansl'arbre d'héritage, par
exemple les statistiques pour les données que vous verriez avec
SELECT * FROM
, alors
qu'une ligne table
*stxdinherit
=
false
représente le résultat de SELECT * FROM
ONLY
.
table
Tout comme pg_statistic
,
pg_statistic_ext_data
ne doit
pas être lisible par tout le monde car son contenu peut être considéré
comme sensible. (Par exemple, les combinaisons de valeurs les plus communes
des colonnes pourraient être intéressantes.) pg_stats_ext
est une vue, lisible par tout le monde, interrogeant
pg_statistic_ext
(après une jointure sur
pg_statistic_ext
) en exposant uniquement les
informations sur les tables dont l'utilisateur courant est le propriétaire.
Tableau 53.52. Colonnes de pg_statistic_ext
Type Description |
---|
Identifiant de ligne |
Table contenant les colonnes décrites par cet objet |
Nom de l'objet statistique |
OID du schéma contenant l'objet statistique |
Propriétaire de l'objet statistique |
|
Un tableau de numéros de colonnes, indiquant les colonnes de la table couvertes par l'objet statistique ;
par exemple, une valeur |
Un tableau contenant des codes pour les types statistiques
activés ; les valeurs valides sont :
|
Arbres d'expression (dans la représentation
|
Un enregistrement de pg_statistic_ext
est rempli
complètement lors du CREATE
STATISTICS
, mais les vraies valeurs statistiques ne sont
pas calculées à ce moment-là. Les commandes ANALYZE
ultérieures
calculent les valeurs souhaitées et peuplent l'enregistrement dans pg_statistic_ext_data
.