检查PostgreSQL中的统计目标

jpm*_*c26 16 sql postgresql database-design postgresql-9.2

我已经搜索过,但一直无法找到任何简单,直接的答案.如何查看ANALYZE使用的当前统计目标?

Erw*_*ter 23

统计目标的设置按目录表中的每列存储pg_attribute.您可以这样设置:

ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127;
Run Code Online (Sandbox Code Playgroud)

并检查如下:

SELECT attstattarget
FROM   pg_attribute
WHERE  attrelid = 'myschama.mytable'::regclass
AND    attname = 'mycolumn';
Run Code Online (Sandbox Code Playgroud)

或者您只需在pgAdmin的对象浏览器中查看创建脚本,如果该值与默认值不同,则会附加该脚本default_statistics_target.

我引用手册attstattarget:

attstattarget控制ANALYZE为此列累积的统计信息的详细程度.零值表示不应收集统计信息.负值表示使用系统默认统计目标.正值的确切含义取决于数据类型.对于标量数据类型,attstattarget既是要收集的"最常见值"的目标数,也是要创建的直方图箱的目标数.

大胆强调我的.