我知道您可以使用以下postgresql.conf中的配置显示持续时间和日志查询
------------------------------------------------------------------------------
CUSTOMIZED OPTIONS
------------------------------------------------------------------------------
log_statement = 'all'
log_duration = on
log_line_prefix = '{"Time":[%t], Host:%h} '
然后返回类似
的日志{"Time":[2018-08-13 16:24:20 +08], Host:172.18.0.2} LOG: statement: SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1
{"Time":[2018-08-13 16:24:20 +08], Host:172.18.0.2} LOG: duration: 7.694 ms
但是我可以将持续时间和声明合并在一行吗?
LOG: { statement: ..., duration: 7.694 ms}
答案 0 :(得分:2)
记录方式,该语句在服务器开始处理时记录下来,但是持续时间只有在执行结束时才知道。
这就是为什么必须将其记录为两条不同的消息的原因。
如果您改用log_min_duration_statement = 0
,则该语句将在执行结束时与持续时间一起记录。