PostgreSQL pg_stats

2021-09-14 16:27 更新

視圖pg_stats提供對存儲在pg_statistic目錄中信息的訪問。此視圖能訪問pg_statistic行是有限制的,可訪問行所對應的表必須是用戶有讀權(quán)限的。因此讓所有用戶都可以讀此視圖是安全的。

pg_stats也被設(shè)計為能以更適合閱讀的格式顯示底層目錄的信息— 但代價是只要為pg_statistic定義了新的槽類型,就必須要擴展此視圖的模式。

表 51.89. pg_stats Columns

列類型

描述

schemaname name (references pg_namespace.nspname)

包含表的模式名

tablename name (參考 pg_class.relname)

表的名稱

attname name (參考 pg_attribute.attname)

被此行描述的列名

inherited bool

如果為真,表示此行包括繼承子列,不僅僅是指定表中的值

null_frac float4

列項中為空的比例

avg_width int4

列的條目的平均字節(jié)寬度

n_distinct float4

如果大于零,表示列中可區(qū)分值的估計個數(shù)。如果小于零,是可區(qū)分值個數(shù)除以行數(shù)的負值(當ANALYZE認為可區(qū)分值的數(shù)量會隨著表增長而增加時采用負值的形式,而如果認為列具有固定數(shù)量的可選值時采用正值的形式)。 例如,-1表示一個唯一列,即其中可區(qū)分值的個數(shù)等于行數(shù)。

most_common_vals anyarray

列中最常用值的一個列表(如果沒有任何一個值看起來比其他值更常用,此列為空)

most_common_freqs float4[]

最常用值的頻率列表,即每一個常用值的出現(xiàn)次數(shù)除以總行數(shù)(如果most_common_vals為空,則此列為空)

histogram_bounds anyarray

將列值劃分成大小接近的組的值列表。如果存在most_common_vals,其中的值會被直方圖計算所忽略(如果列類型沒有一個<操作符或者most_common_vals等于整個值集合,則此列為空)

correlation float4

物理行順序和列值邏輯順序之間的統(tǒng)計關(guān)聯(lián)。其范圍從-1到+1。當值接近-1或+1時,在列上的一個索引掃描被認為比值接近0時的代價更低,因為這種情況減少了對磁盤的隨機訪問(如果列數(shù)據(jù)類型不具有一個<操作符,則此列為空)

most_common_elems anyarray

在列值中,最經(jīng)常出現(xiàn)的非空元素列表(對標度類型為空)

most_common_elem_freqs float4[]

最常用元素值的頻度列表,即含有至少一個給定值實例的行的分數(shù)。 在每個元素的頻度之后有二至三個附加值,它們是每個元素頻度的最小和最大值,以及可選的空元素的頻度(如果most_common_elems為空,則此列為空)

elem_count_histogram float4[]

在列值中可區(qū)分非空元素值計數(shù)的一個直方圖,后面跟隨可區(qū)分非空元素的平均數(shù)(對于標度類型為空)


在數(shù)組域中項的最大數(shù)目可以使用ALTER TABLE SET STATISTICS命令控制,或者設(shè)置default_statistics_target運行時參數(shù)從全局上進行控制


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號