为啥查询dbe_perf.statement_complex_history报错

openGauss=# SELECT * FROM dbe_perf.statement_complex_history;
ERROR: function return row and query-specified return row do not match
DETAIL: Returned row contains 103 attributes, but query expects 102.

可能是这个视图里的函数新增了一个出参字段,但是视图定义漏了新增的这个字段,可以先直接查里面的这个函数

SELECT  *
   FROM dbe_perf.get_global_statement_complex_history();

也还是不行,之前我找到源码看到底层是这个函数了,测试下来的情况比较像,如果没有数据的时候能正常调用,但是有数据的话无论是函数还是视图都会报错

你是本地自己编译的代码吗? 这种情况大概率是内核的视图定义有过变更。如果你是自己编译的内核,需要通过OM工具做升级,或者重新initdb。

没有,用的openGauss安装包直接安装的服务,安装的企业版