更新时间:2026-07-28 GMT+08:00
分享

技术原理

核心机制

pg_stat_activity系统视图支持显示当前正在执行的语句,在语句解析期间会调用接口,将语句信息写到query字段。为了记录存储过程内正在执行的语句,当前的实现机制是在存储过程内语句解析期间,按照"query string: 最顶层的执行语句, current level: 当前语句的直接调用语句, lineno: 当前语句在执行的存储过程中的行号, execute stmt: 当前正在执行的语句" 的格式拼接后,覆盖pg_stat_activity指定行的query值。

性能指标

开启track_procedure_sql,记录存储过程正在执行的SQL语句,性能劣化在5%左右。

接口介绍

pg_stat_activity记录存储过程内正在执行的语句的相关接口

系统表

pg_stat_activity

GUC参数

  • track_activities控制pg_stat_activity是否记录信息。
  • track_procedure_sql控制支持记录存储过程内正在执行的语句功能是否启用,默认开启。

相关文档