PostgreSQL 修改追踪SQL语句的字节长度
前言
使用SQL Server时有 SQL server profiler 工具可以监视SQL执行过程和调试存储过程,在使用PostgreSQL时也首先想看下是否有类似的工具或者SQL,在查阅相关资料后,可以利用 pg_stat_statements 模块达成目的
但在追踪PGSQL的sql语句执行情况时,当sql达到一定长度后 能看到的sql语句会被截取
过程
获取SQL执行情况的语句
SELECT procpid, START, now() - START AS lap, current_query FROM ( SELECT backendid, pg_stat_get_backend_pid (S.backendid) AS procpid, pg_stat_get_backend_activity_start (S.backendid) AS START, pg_stat_get_backend_activity (S.backendid) AS current_query FROM ( SELECT pg_stat_get_backend_idset () AS backendid ) AS S ) AS S WHERE current_query <> '<IDLE>' ORDER BY lap DESC;
pg_stat_get_backend_activity() 这个数据库函数可以拿到SQL,但是当SQL达到一定字数后得到的字符是截断后的,也就是说这个函数返回的字符长度有限制。这个限制是存储在pgsql的安装目录配置文件下的,以windows系统为例:
配置文件名为 postgresql.conf
只需要修改该文件下的 track_activity_query_size 对应的值即可,我这里改为了1MB
修改配置后,重启pgsql 的服务,即可应用新的配置
引用:
https://blog.csdn.net/nasen512/article/details/125769140
https://blog.csdn.net/sunny_day_day/article/details/118199980#2_pg_stat_statements_107
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具