La vue pg_stats fournit un accès aux informations stockées dans la table système pg_statistic. Cette vue n'autorise l'accès qu'aux seules lignes de pg_statistic correspondant aux tables sur lesquelles l'utilisateur a un droit de lecture. Elle peut donc sans risque être publiquement accessible en lecture.
pg_stats est aussi conçue pour afficher l'information dans un format plus lisible que le catalogue sous-jacent -- au prix de l'extension du schéma lorsque de nouveaux types de connecteurs sont définis dans pg_statistic.
Tableau 44.56. Colonnes de pg_stats
Nom | Type | Références | Description |
---|---|---|---|
schemaname | name | pg_namespace.nspname | Nom du schéma contenant la table |
tablename | name | pg_class.relname | Nom de la table |
attname | name | pg_attribute.attname | Nom de la colonne décrite par la ligne |
null_frac | real | Fraction d'entrées de colonnes qui sont NULL | |
avg_width | integer | Largeur moyenne en octets des entrées de la colonne | |
n_distinct | real | Si positif, nombre estimé de valeurs distinctes dans la colonne. Si négatif, nombre de valeurs distinctes divisé par le nombre de lignes, le tout muliplié par -1. (La forme négative est utilisée quand ANALYZE croit que le nombre de valeurs distinctes a tendance à grossir au fur et à mesure que la table grossit ; la forme positive est utilisée lorsque la commande semble avoir un nombre fixe de valeurs possibles.) Par exemple, -1 indique une colonne unique pour laquelle le nombre de valeurs distinctes est identique au nombre de lignes. | |
most_common_vals | anyarray | Liste de valeurs habituelles de la colonne. (NULL si aucune valeur ne semble identique aux autres.) Pour certains types de données comme tsvector, c'est une liste d'éléments les plus fréquents, plutôt que des valeurs du type lui-même. | |
most_common_freqs | real[] | Liste de fréquences des valeurs ou éléments les plus courants, c'est-à-dire le nombre d'occurrences de chacune divisé par le nombre total de lignes. (NULL lorsque most_common_vals l'est.) Pour certains types de données comme tsvector, il peut aussi stocker des informations supplémentaires, le rendant plus long que le tableau most_common_vals. | |
histogram_bounds | anyarray | Liste de valeurs qui divisent les valeurs de la colonne en groupes de population approximativement identiques. Les valeurs dans most_common_vals, s'il y en a, sont omises de ce calcul d'histogramme. (Cette colonne est NULL si le type de données de la colonne ne dispose pas de l'opérateur < ou si la liste most_common_vals compte la population complète.) | |
correlation | real | Corrélation statistique entre l'ordre physique des lignes et l'ordre logique des valeurs de la colonne. Ceci va de -1 à +1. Lorsque la valeur est proche de -1 ou +1, un parcours de l'index sur la colonne est estimé moins coûteux que si cette valeur tend vers 0, à cause de la réduction du nombre d'accès aléatoires au disque. (Cette colonne est NULL si le type de données de la colonne ne dispose pas de l'opérateur <.) |
Le nombre maximum d'entrées dans most_common_vals et histogram_bounds est configurable colonne par colonne en utilisant la commande ALTER TABLE SET STATISTICS ou globalement avec le paramètre d'exécution default_statistics_target.