Documentation PostgreSQL 14.22 » Internes » Catalogues système » `pg_stats`

Précédent | Niveau supérieur | Suivant
52.88. `pg_shmem_allocations` | Sommaire | 52.90. `pg_stats_ext`

## 52.89. `pg_stats`

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 52.90. Colonnes de `pg_stats`

Type Description
`schemaname` `name` (référence `pg_namespace`.`nspname`) Nom du schéma contenant la table
`tablename` `name` (référence `pg_class`.`relname`) Nom de la table
`attname` `name` (référence `pg_attribute`.`attname`) Nom de la colonne décrite par la ligne
`inherited` `bool` Si vrai, cette ligne inclut les colonnes enfant de l'héritage, pas seulement les valeurs de la table spécifiée
`null_frac` `float4` Fraction d'entrées de colonnes qui sont NULL
`avg_width` `int4` Largeur moyenne en octets des entrées de la colonne
`n_distinct` `float4` 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.)
`most_common_freqs` `float4[]` Liste de fréquences des valeurs les plus courantes, c'est-à-dire le nombre d'occurrences de chacune divisé par le nombre total de lignes. (NULL lorsque `most_common_vals` l'est.)
`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` `float4` 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 `<`.)
`most_common_elems` `anyarray` Une liste des valeurs non NULL les plus communes apparaissant parmi les valeurs de la colonne (NULL pour les types scalaires).
`most_common_elem_freqs` `float4[]` Une liste des fréquences des valeurs les plus communes, c'est-à-dire la fraction des lignes contenant au moins une instance de la valeur donnée. Deux ou trois valeurs supplémentaires suivent les fréquences par élément ; elles correspondent au minimum et au maximum des fréquences précédentes par élément, et en option la fréquence des éléments NULL. (NULL quand `most_common_elems` est NULL.)
`elem_count_histogram` `float4[]` Un histogramme du nombre de valeurs distinctes et non NULL parmi les valeurs de la colonnes, suivi de la moyenne des éléments distincts non NULL. (NULL pour les types scalaires.)

Le nombre maximum d'entrées dans les champs de type tableau 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.