53.29. pg_stats #

La vista pg_stats proporciona acceso a la información almacenada en el catálogo pg_statistic. Esta vista permite el acceso solo a las filas de pg_statistic que corresponden a las tablas que el usuario tiene permiso para leer, y por lo tanto es seguro permitir el acceso de lectura público a esta vista.

pg_stats también está diseñada para presentar la información en un formato más legible que el catálogo subyacente — a costa de que su esquema debe extenderse cada vez que se definen nuevos tipos de ranuras (slots) para pg_statistic.

Table 53.29. pg_stats Columns

Tipo de columna

Descripción

schemaname name (references pg_namespace.nspname)

Nombre del esquema que contiene la tabla.

tablename name (references pg_class.relname)

Nombre de la tabla.

attname name (references pg_attribute.attname)

Nombre de la columna descrita por esta fila.

inherited bool

Si es verdadero, esta fila incluye valores de las tablas hijas, no solo los valores de la tabla especificada.

null_frac float4

Fracción de entradas de la columna que son nulas.

avg_width int4

Ancho promedio en bytes de las entradas de la columna.

n_distinct float4

Si es mayor que cero, el número estimado de valores distintos en la columna. Si es menor que cero, el negativo del número de valores distintos dividido por el número de filas. (La forma negativa se utiliza cuando ANALYZE cree que es probable que el número de valores distintos aumente a medida que la tabla crece; la forma positiva se utiliza cuando la columna parece tener un número fijo de valores posibles). Por ejemplo, -1 indica una columna única en la que el número de valores distintos es el mismo que el número de filas.

most_common_vals anyarray

Una lista de los valores más comunes en la columna. (Nulo si no parece que haya valores más comunes que otros).

most_common_freqs float4[]

Una lista de las frecuencias de los valores más comunes, es decir, el número de apariciones de cada uno dividido por el número total de filas. (Nulo cuando most_common_vals lo es).

histogram_bounds anyarray

Una lista de valores que dividen los valores de la columna en grupos de población aproximadamente igual. Los valores en most_common_vals, si están presentan, se omiten del cálculo de este histograma. (Esta columna es nula si el tipo de datos de la columna no tiene un operador < o si la lista most_common_vals representa a toda la población).

correlation float4

Correlación estadística entre el orden físico de las filas y el orden lógico de los valores de la columna. Varía de -1 a +1. Cuando el valor está cerca de -1 o +1, se estima que un escaneo de índice en la columna será más barato que cuando está cerca de cero, debido a la reducción del acceso aleatorio al disco. (Esta columna es nula si el tipo de datos de la columna no tiene un operador <).

most_common_elems anyarray

Una lista de valores de elementos no nulos que aparecen con mayor frecuencia dentro de los valores de la columna. (Nulo para tipos escalares).

most_common_elem_freqs float4[]

Una lista de las frecuencias de los valores de elementos más comunes, es decir, la fracción de filas que contienen al menos una instancia del valor dado. Siguen dos o tres valores adicionales a las frecuencias por elemento; estos son el mínimo y el máximo de las frecuencias por elemento precedentes, y opcionalmente la frecuencia de elementos nulos. (Nulo cuando most_common_elems lo es).

elem_count_histogram float4[]

Un histograma de los recuentos de valores de elementos distintos no nulos dentro de los valores de la columna, seguido por el promedio de elementos distintos no nulos. (Nulo para tipos escalares).

range_length_histogram anyarray

Un histograma de las longitudes de los valores de rango no vacíos y no nulos de una columna de tipo rango. (Nulo para tipos que no son de rango).

Este histograma se calcula utilizando la función de rango subtype_diff independientemente de si los límites del rango son inclusivos.

range_empty_frac float4

Fracción de entradas de la columna cuyos valores son rangos vacíos. (Nulo para tipos que no son de rango).

range_bounds_histogram anyarray

Un histograma de los límites inferiores y superiores de los valores de rango no vacíos y no nulos. (Nulo para tipos que no son de rango).

Estos dos histogramas se representan como un único array de rangos, cuyos límites inferiores representan el histograma de límites inferiores, y los límites superiores representan el histograma de límites superiores.


El número máximo de entradas en los campos de array se puede controlar columna por columna mediante el comando ALTER TABLE SET STATISTICS, o globalmente estableciendo el parámetro en tiempo de ejecución default_statistics_target.