pg_statistic 是 PostgreSQL 中的系统表之一,用于存储表的统计信息。这些统计信息对查询优化器来说非常重要,它们包含了表中列的数据分布、唯一值的数量、直方图等信息,帮助查询优化器生成更有效的执行计划。

以下是 pg_statistic 表的一些关键字段:

  •  starelid: 表的唯一标识符,与 pg_class 表中的 oid 字段对应。

  •  staattnum: 列的序号,与 pg_attribute 表中的 attnum 字段对应。

  •  stainherit: 指示是否继承父表的统计信息。

  •  stanullfrac: 列中 NULL 值的比例。

  •  stawidth: 列的宽度(字节)。

  •  stadistinct: 列中不同值的数量。

  •  stanumbers: 列的直方图,存储列值的分布信息。

  •  stavalues: 列的值的直方图,存储值的实际数据。


你可以使用如下的 SQL 查询语句查看 pg_statistic 表的内容:
SELECT * FROM pg_statistic;

这将返回 pg_statistic 表中所有表的统计信息的详细信息。如果你对特定表的统计信息感兴趣,可以添加条件来过滤结果,例如:
SELECT * FROM pg_statistic WHERE starelid = 'your_table_oid';

请将 'your_table_oid' 替换为你想查询的表的唯一标识符。


转载请注明出处:http://www.zyzy.cn/article/detail/8864/PostgreSQL