VALIDATE_STATISTICS

验证由 EXPORT_STATISTICS 生成的 XML 文件中的统计信息。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

稳定

语法

VALIDATE_STATISTICS ( 'XML‑file' )

参数

XML‑file
包含待验证统计信息的 XML 文件的路径和名称。

超级用户

报告有效统计信息

以下示例显示了统计信息有效时的结果:

=> SELECT EXPORT_STATISTICS('cust_dim_stats.xml','customer_dimension');
    EXPORT_STATISTICS
-----------------------------------
 Statistics exported successfully
(1 row)

=> SELECT VALIDATE_STATISTICS('cust_dim_stats.xml');
 VALIDATE_STATISTICS
---------------------
(1 row)

识别无效统计信息

如果 VALIDATE_STATISTICS 无法读取文档的 XML,则会引发以下错误:

=> SELECT VALIDATE_STATISTICS('/home/dbadmin/stats.xml');
                       VALIDATE_STATISTICS
----------------------------------------------------------------------------
Error validating statistics file: At line 1:1. Invalid document structure
(1 row)

如果某些表统计信息无效,VALIDATE_STATISTICS 会返回标识相关信息的报告。在以下示例中,函数报告属性 distinctbucketsrowscount、并且 distinctCount 不能是负数。

=> SELECT VALIDATE_STATISTICS('/stats.xml');
WARNING 0:  Invalid value '-1' for attribute 'distinct' under column 'public.t.x'.
   Please use a positive value.
WARNING 0:  Invalid value '-1' for attribute 'buckets' under column 'public.t.x'.
   Please use a positive value.
WARNING 0:  Invalid value '-1' for attribute 'rows' under column 'public.t.x'.
   Please use a positive value.
WARNING 0:  Invalid value '-1' for attribute 'count' under bound '1', column 'public.t.x'.
   Please use a positive value.
WARNING 0:  Invalid value '-1' for attribute 'distinctCount' under bound '1', column 'public.t.x'.
   Please use a positive value.
 VALIDATE_STATISTICS
---------------------
 (1 row)

在这种情况下,再次对表运行 ANALYZE_STATISTICS 以创建有效统计信息。

另请参阅