2025年9月25日: PostgreSQL 18 釋出!
支援的版本:當前 (18) / 17 / 16 / 15 / 14
開發版本:devel

53.31. pg_stats_ext_exprs #

檢視 pg_stats_ext_exprs 提供了對包含在擴充套件統計資訊物件中的所有表示式的資訊的訪問,它結合了儲存在 pg_statistic_extpg_statistic_ext_data 目錄中的資訊。此檢視僅允許訪問屬於使用者擁有的表 pg_statistic_extpg_statistic_ext_data 的行,因此允許公開讀取此檢視是安全的。

pg_stats_ext_exprs 的設計也旨在提供比底層目錄更易讀的格式——代價是每當 pg_statistic_ext 中的統計結構發生變化時,其模式都必須隨之擴充套件。

表 53.31. pg_stats_ext_exprs

列 型別

描述

schemaname name (引用 pg_namespace.nspname)

包含表的模式名稱

tablename name (引用 pg_class.relname)

定義了統計資訊物件的表的名稱

statistics_schemaname name (引用 pg_namespace.nspname)

包含擴充套件統計資訊物件的模式名稱

statistics_name name (引用 pg_statistic_ext.stxname)

擴充套件統計資訊物件的名稱

statistics_owner name (引用 pg_authid.rolname)

擴充套件統計資訊物件的屬主

expr text

包含在擴充套件統計資訊物件中的表示式

inherited bool (引用 pg_statistic_ext_data.stxdinherit)

如果為 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[]

最常見元素值的頻率列表,即包含至少一個給定值的行的比例。在每個元素頻率之後會跟有兩到三個額外的值;這些是前面元素頻率的最小值和最大值,以及可選的 NULL 元素的頻率。(當 most_common_elems 為 NULL 時,此欄位也為 NULL。)

elem_count_histogram float4[]

表示式值中不同非 NULL 元素計數的直方圖,後跟不同非 NULL 元素的平均數量。(對於標量型別為 NULL。)


陣列欄位的最大條目數量可以透過每列使用 ALTER TABLE SET STATISTICS 命令來控制,或者透過設定 default_statistics_target 執行時引數來全域性控制。

提交更正

如果您在文件中發現任何不正確之處、與您對特定功能的體驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。