【问题标题】:In PostgreSQL, how can I get the body of a prepared statement?在 PostgreSQL 中,如何获取准备好的语句的主体?
【发布时间】:2014-09-08 23:37:19
【问题描述】:

我的 postgresql 慢查询日志显示如下行:

2014-07-11 21:00:34 GMT LOG:  duration: 539.036 ms  execute S_1: COMMIT
2014-07-11 21:00:39 GMT LOG:  duration: 608.964 ms  execute S_1: COMMIT
2014-07-11 21:00:39 GMT LOG:  duration: 604.911 ms  execute S_1: COMMIT

有没有办法让我检索准备好的语句 S_1 是什么,以便我可以看到哪个查询很慢?

【问题讨论】:

    标签: postgresql postgresql-9.2


    【解决方案1】:

    它就在日志消息的末尾。在这种情况下,准备好的语句是COMMIT

    此格式适用于通过extended query protocol 准备的语句。如果您使用的是 SQL PREPARE,您将在以下行的 DETAIL 消息中找到原始语句:

    2014-07-11 21:00:39 GMT LOG:  duration: 0.118 ms  statement: EXECUTE q
    2014-07-11 21:00:39 GMT DETAIL:  prepare: PREPARE q AS SELECT 1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多