PostgreSQL 13.1 中文入门教程 PostgreSQL pg_statistic_ext

2024-02-25 开发教程 PostgreSQL 13.1 中文入门教程 匿名 3

目录pg_statistic_ext包含了扩展的规划器统计信息的定义。这个目录中的每一行对应于一个用CREATE STATISTICS创建的统计信息对象。

表 51.50. pg_statistic_extColumns

列类型

描述

oidoid

行标识符

stxrelidoid(references pg_class.oid)

包含这个对象所描述的列的表

stxnamename

统计信息对象的名称

stxnamespaceoid(references pg_namespace.oid)

包含这个统计信息对象的名字空间的OID

stxowneroid(references pg_authid.oid)

统计信息对象的拥有者

stxstattargetint4

stxstattarget通过ANALYZE 控制这个统计对象积累的统计信息的详细级别。 零值表示不应收集任何统计信息。负值表示使用引用列(如果设置)的统计信息目标的最大值或系统默认统计目标。 stxstattarget的正值决定要收集的 “most common values”的目标数。

stxkeysint2vector(references pg_attribute.attnum)

一个属性编号的数组,表示哪些表列被这个统计信息对象覆盖。例如值1 3表示第一个和第三个表列被覆盖

stxkindchar[]

包含被启用统计类型代码的数组,可用的值有: d表示n-distinct统计信息, f表示函数依赖统计信息和 m表示最常见值(MCV)列表的统计信息

pg_statistic_ext条目在CREATE STATISTICS期间完全填充,但是随后不计算实际的统计值。后来ANALYZE命令计算所需的值,并在 pg_statistic_ext_data目录中填充条目。