他のバージョンの文書 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

52.27. pg_stats #

pg_statsビューはpg_statisticカタログの情報にアクセスするためのビューです。 このビューは、ユーザが読み込み権限を持つテーブルに一致するpg_statisticの行に対してのみアクセスを許可しています。 よって、このビューに対して一般に読み込みを許可しても安全です。

pg_statsも、その基礎となっているカタログよりも、より読みやすい書式で情報を提供するように設計されています。 しかし、これは、もしpg_statisticに対して新しいスロット型が定義されるたびに、スキーマが拡張されなくてはならない、という犠牲を払っています。

表52.27 pg_statsの列

列 型

説明

schemaname name (参照先 pg_namespace.nspname

テーブルがあるスキーマの名前

tablename name (参照先 pg_class.relname

テーブルの名前

attname name (参照先 pg_attribute.attname

この行が記述する列名

inherited bool

trueの場合は、この行には指定されたテーブルの値だけではなく、子テーブルの値が含まれます

null_frac float4

NULLとなっている列項目の割合

avg_width int4

列項目のバイト単位による平均幅

n_distinct float4

ゼロより大きい値は列内の個別値の推定数です。 ゼロより小さければ行数で個別値を割算した数字の負数です。 (テーブルが肥大するにつれ個別値の増大があり得るとANALYZEが判断した場合に負変換形式が使われます。 正変換形式は列の取り得る値が固定数を持つと思われる場合に使用されます。) 例えば-1は個別値の数が行数と等しいような、一意な列を表します。

most_common_vals anyarray

列の中の最も共通した値のリストです。 (他の値よりもより共通している値がない場合はNULLです。)

most_common_freqs float4[]

最も一般的な値の出現頻度のリストで、つまり行の総数で出現数を割算した数字です。 (most_common_valsがNULLの時はNULLです。)

histogram_bounds anyarray

列の値を満遍なく似たような数でグループに分配した値のリストです。 most_common_valsの値がもし存在すればこのヒストグラム計算は行われません。 (列データ型が<演算子を所有しない場合、もしくはmost_common_valsが全体の構成要素アカウントをリストしている場合、この列はNULLです。)

correlation float4

物理的な[訳注:ディスク上の]行の並び順と論理的な列の値の並び順に関する統計的相関です。 この値は-1から+1の範囲です。 値が-1もしくは+1の近辺にある時、ディスクにランダムアクセスする必要が少なくなるためこの列に対してのインデックススキャンはゼロ近辺にある場合に比較して安価であると推定されます。 (列データ型に<演算子がない場合、この列はNULLです。)

most_common_elems anyarray

列の値の中で最もよく出現する非NULLの要素値のリストです。(スカラ型の場合はNULLです。)

most_common_elem_freqs float4[]

最も一般的な要素値の出現頻度のリストで、与えられた値の少なくとも1つのインスタンスを含む行の断片です。 2つもしくは3つの追加の値が1つの要素ごとの出現頻度に続きます。 最小で最大の要素ごとの出現頻度があります。さらにオプションとしてNULL要素の出現頻度もあります。 (most_common_elemsがNULLの時はNULLです。)

elem_count_histogram float4[]

列の値でNULLではない要素値の個別数のヒストグラム。これは個別のNULLではない平均値が後に続きます。(スカラ型の場合はNULLです。)

range_length_histogram anyarray

範囲型の列が空やNULLでない範囲値の長さのヒストグラム。 (範囲型以外の場合はNULL。)

このヒストグラムは、範囲の境界が包括的であるかどうかに関係なく、subtype_diff範囲関数を使用して計算されます。

range_empty_frac float4

列項目の値が空の範囲である割合。 (範囲型以外の場合はNULL。)

range_bounds_histogram anyarray

空やNULLではない範囲値の上限と下限のヒストグラム。 (範囲型以外の場合はNULL。)

これら2つのヒストグラムは、範囲の単一の配列として表され、その下限は下限のヒストグラムを表し、上限は上限のヒストグラムを表します。


配列の最大項目数はALTER TABLE SET STATISTICSコマンドで列ごとに設定されるか、もしくはdefault_statistics_target実行時パラメータで包括的に設定されるかのいずれかです。