我需要使用PostgreSQL存储插件(不是Drill执行计划,而是PostGIS执行计划)获取从Apache Drill执行的查询的执行计划。
所以我使用以下命令启用解释计划日志;
SET auto_explain.log_min_duration = 0;
SET auto_explain.log_analyze = true;
如果我从pgAdmin执行查询,它会显示语句和计划。但是如果我从Drill执行相同的查询,它就不会记录任何内容。
你知道为什么会这样吗?如何解决这种情况?
注意:我检查了连接,没关系,它们在pgAdmin和Drill中是相同的,同样在Drill我执行查询并得到结果,所以我假设有没有连接问题。
答案 0 :(得分:0)
我怀疑您正在从postgres命令行执行SET
命令,因此这些设置仅适用于Drill的postgres会话。为了将这些设置应用于Drill的postgres会话,请尝试将这些属性添加到Drill的存储插件配置中。以下是这些属性的示例配置:
{
"type": "jdbc",
"driver": "org.postgresql.Driver",
"url": "jdbc:postgresql://localhost:5432;auto_explain.log_min_duration=0;auto_explain.log_analyze=true",
"username": "postgres",
"enabled": true
}