Quick BI数据导出时出现报错“数据源执行SQL失败:java.lang.RuntimeException: SQL execute error by datasource... org.postgresql.util.PSQLException: ERROR: canceling statement due to user request”是什么原因?

更新时间:

概述

Quick BI数据导出时出现报错“数据源执行SQL失败:java.lang.RuntimeException: SQL execute error by datasource... org.postgresql.util.PSQLException: ERROR: canceling statement due to user request”是什么原因?

详细信息

  1. 原理介绍:导出操作时,Quick BI会生成一段取数SQL到图表关联的数据源进行取数,一般点击导出按钮后出现的转圈情况,耗时占大部分的是后端查询取数耗时。

  2. 在取数的过程中,如果数据源执行取数失败,就会报描述中类似的错误,错误各有原因,本例中可以看到,数据源类型是PostgreSQL,错误信息表明你PostgreSQL数据库在执行一个 SQL 语句时,由于用户的请求,该语句被取消了。这通常发生在以下几个情况:

    1. 用户手动取消查询:如果你正在使用如 pgAdmin 或 psql 这样的工具,可能在执行查询的过程中,用户手动取消了该查询。

    2. 超时设置:如果你的查询执行时间过长,根据数据库的配置,可能会自动取消执行时间过长的查询。PostgreSQL 允许你设置查询的超时时间,例如statement_timeout

    3. 资源限制:在某些情况下,数据库服务器的资源限制(如内存不足)也可能导致正在执行的查询被取消。

  3. 如何处理:需要从数据源本身的角度排查原因,例如检查和调整超时设置,优化查询,检查资源使用情况等。

适用于

  • Quick BI 独立部署版 v5.4.1