Postgresql的错误、系统查询和查询调试应该有不同的日志文件。

3

目前我正在进行PostgreSQL性能分析,使用前缀%t %d来记录日志。

当我尝试分析日志文件时,发现有大量错误、分析vacuum和系统相关进程的日志输出,这些日志占用了文件空间的大部分,因此很难从应用程序中找到需要分析的查询。

请帮忙提出一个解决方案,以便能够在Postgresql Logging中单独维护每个日志。有什么建议吗?


尝试使用 pg_stat_statements 扩展。 - Vao Tsun
你可以将用户名(%u)、应用程序名称(%a)或会话ID(%c)添加到日志文件前缀中。或者,你可以仅在“真实”会话中使用 %q%u 添加用户名。 - user330315
1个回答

1
你不能为不同的事件类型拥有多个日志文件,但你可以调整 postgresql.conf 以便只获取你真正需要的内容。
我使用 pgBadger 进行查询分析,它会解析你的日志文件并告诉你(除了其他很多信息之外)哪些查询(通过忽略常量进行标准化)运行最频繁,哪些查询花费最长时间以及哪些单个查询具有最长的运行时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接