PostgreSQL日志语句时长是否包含客户端耗时?(PG 12)
PostgreSQL 12语句时长日志范围确认
当你配置log_min_duration_statement = 0或log_duration = on时,日志中记录的语句时长仅为服务器端耗时,不包含向客户端发送数据的时间。
PostgreSQL计算这个时长的逻辑是:从语句开始执行(包含解析、规划、执行等阶段),到服务器端完成结果集的生成时结束计时。后续将结果数据发送给客户端的网络IO或本地传输耗时,不会被计入这个统计值。
你自己的多组测试结果是符合这个逻辑的——服务器端完成语句处理后就会记录时长,无需等待客户端接收完所有数据。
补充说明两个参数的核心统计逻辑:
log_min_duration_statement = 0:会记录所有执行语句的时长,统计范围严格限定在服务器端处理周期内log_duration = on:开启后同样仅统计服务器端处理语句的耗时,与数据传输到客户端的过程无关
内容的提问来源于stack exchange,提问作者mishka
相关产品推荐
相关产品推荐

