PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.1 » Internes » Vues système » pg_stats

52.27. 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.27. 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.)

range_length_histogram anyarray

Un histogramme des longueurs d'intervalle non vide et non NULL pour une colonne de type range. (NULL pour les autres types.)

Cet histogramme est calculée en utilisant la fonction d'intervalle subtype_diff, que les limites des intervalles soit inclusives ou pas.

range_empty_frac float4

Ratio d'intervalles vides dans les valeurs de cette colonne. (NULL pour les autres types.)

range_bounds_histogram anyarray

Un histogramme des limites basse et haute des valeurs de type range non vides et non NULL. (NULL pour les autres types.)

Ces deux histogrammes sont représentés comme un simple tableau d'intervalles, dont les limites basses représentent l'histogramme des limites basses et les limites hautes représentent l'histogramme des limites hautes.


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.