sql - redshift 是否存储失败的查询?
问题描述
我希望分析在某些 redshift 仓库(不是我的)上执行的查询。为了做到这一点,我使用了一个在 stl_querytext 和 stl_query 上连接的查询。
我的问题是我怎么还会收到非法查询(使用错误 sql 语法的 IE 查询)?当我在当地的红移中尝试过时,我还没有看到那些。另外,找不到相关文档。
这是配置问题吗?如果我应该进行这些查询,有没有办法知道那些是非法的?
谢谢,尼尔。
解决方案
因此 stl_querytext 将长查询分成由序列号标识的部分。作为第一步,我希望您将这些部分重建为原始查询。这可以使用 listagg() 函数来完成,只要结果查询不超过 max tex 字段(大约 320 个部分)。
现在这还不足以在所有情况下都返回有效的 SQL,因为您需要根据查询的部分是在查询中的文本字符串内部还是外部,对组合部分进行不同的处理。(部件之间是否需要空白)
我已经完成了很多这个确切的过程,所以这是可行的。我在空白问题上没有完美的过程,我接近了。也许其他人知道从 stl_querytext 获得查询的精确再现的表达式。
推荐阅读
- java - 在我的错误中“赋值的左侧必须是变量”是什么意思?
- python - Python pydantic 模型以字符串形式获取字段
- django - 视图集抛出pagenotfound!找到 Django DRF
- php - yajra数据表无效的json响应
- jestjs - 是否有用于玩笑 ts-auto-mock 的模拟颤振的 mockito verifyZeroInteractions(object)
- postgresql - 我们应该使用哪种数据类型来存储卢比和派萨?
- java - 如何使用 MockMvc 测试以下功能?
- arrays - 获得二元预测的正确方法是什么?
- python - 如何平滑图形曲线
- nginx - 如何在 nginx 服务器的子域上安装 phpmyadmin my