pg_stats

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 41章システムカタログ | 早送り | 次のページ

# 41.36. `pg_stats`

`pg_stats` ビューは `pg_statistic` カタログ内に格納されている情報へのアクセスを提供します。このビューはユーザが読み込みを許可されているテーブルに関連した `pg_statistic` 行のみアクセスを許可しますので、このビューに対する公開読み込みアクセスを許可することは危険でありません。

同時に `pg_statistic` に対して新規スロット型が定義されているときはそのスキーマは伸長されなければならないという代価を払ったとしても、`pg_stats` は裏にあるカタログよりもより読みやすい形式で情報を提供します。

表 41-36. `pg_stats` の列

名前 | 型 | 参照先 | 説明
--- | --- | --- | ---
`schemaname` | `name` | ``pg_namespace`.nspname` | テーブルを持つスキーマ名
`tablename` | `name` | ``pg_class`.relname` | テーブル名
`attname` | `name` | ``pg_attribute`.attname` | この行が記述する列名
`null_frac` | `real` |  | NULL となっている列項目の一部
`avg_width` | `integer` |  | 列項目のバイト単位による平均幅
`n_distinct` | `real` |  | ゼロより大きい場合は列内の固有値の推定数字。ゼロ以下であれば行数で固有値を割算した数字の負数。（テーブルが肥大するにつれ固有値の増大が有りうると `ANALYZE` が判断した場合に負変換形式が使われます）。例えば -1 は固有値の数字が行番号と等しいような一意列を表します。
`most_common_vals` | `anyarray` |  | 列の中の最も共通した値のリストです。（ほかの値よりもより共通している値がない場合は NULL となります。）
`most_common_freqs` | `real[]` |  | 最も一般的な値の出現頻度のリストで、つまり行の総数で出現数を割算した数字です。（`most_common_vals` のときは NULL となります。）
`histogram_bounds` | `anyarray` |  | 列の値を満遍なく似たような数でグループに分配した値のリストです。`most_common_vals` の値がもし存在すればこの度数分布計算は行われません。（列データ型が `<` 演算子を所有しない場合、もしくは `most_common_vals` が全体の構成要素アカウントをリストしている場合、この列は NULL となります。）
`correlation` | `real` |  | 物理的な（訳注：ディスク上の）行の並び順と論理的な列の値の並び順に関する統計的相関です。この値は -1 から +1 の範囲です。値が -1 もしくは +1 の近辺にある時、ディスクにランダムアクセスする必要が少なくなるためこの列に対してのインデックススキャンは 0 近辺にある場合に比較して安価であると推定されます。（列データ型に `<` 演算子がない場合、この列は NULL となります。）

`most_common_vals` および `histogram_bounds` 配列の最大エントリ数は `ALTER TABLE SET STATISTICS` コマンドで列毎に設定されるか、もしくは default_statistics_target 実行時パラメータで包括的に設定されるかのいずれかです。

前のページ | ホーム | 次のページ
`pg_settings` | 上に戻る | `pg_tables`