了解Postgres Log列

时间:2012-03-29 05:41:06

标签: postgresql logging

我对Postgres CSV日志中的列有一些疑问。

查询1 以下是示例日志

  

2012-03-28 19:25:47.968 IST,“postgres”,“stock_apals”,2388,“localhost:1898”,4f731863.954,6,“SET”,2012-03-28 19:25: 47 IST,2 / 0,0,LOG,00000,“QUERY STATISTICS”,“!系统使用情况统计:   ! 0.047000已过去0.000000用户0.000000系统秒   ! [0.078125 user 0.031250 sys total]“,,,,,”Select * from stock_apals“   ,,“ShowUsage,。\ src \ backend \ tcop \ postgres.c:4305”,“”

我知道除以下

之外的所有数据段
  

“!系统使用情况统计:   ! 0.047000已过去0.000000用户0.000000系统秒   ! [0.078125用户0.031250 sys total]“,

数字是什么意思,它似乎只出现在SQL语句的Logline


查询2

我的CSV日志有很多特定日志选择语句的出现。它与日志完全相同。

  

2012-03-28 19:25:48.015 IST,“postgres”,“stock_apals”,2388,“localhost:1898”,4f731863.954,7,“idle”,2012-03-28 19:25: 47 IST,2 / 98,0,LOG,00000,“语句:SELECT typname,oid FROM pg_type WHERE typname IN('oidvector','_ intvector','unknown','_ unnown','refcursor','_ refcursor', 'char','_ char','bpchar','_ bpchar','varchar','_ varchar','text','_ text','name','_ name','bytea','_ bytea','bit ','_ bit','bool','_ bool','int2','_ int2','int4','_ int4','int8','_ int'','oid','_ int','float4', '_float4','float8','_ float8','numeric','_ numeric','inet','_ if','money','_ money','point','_ point','lseg','_ lseg ',''path','_ path','box','_ box','circle','_ circle','polygon','_ polygon','uuid','_ uuid','xml','_ xml', 'interval','_ interval','date','_ date','time','_ time','timetz','_ timetz','timestamp','_ timestamp','abstime','_ abstime','timestamptz ','_ timestamptz')“,,,,,,,,”exec_simple_query,。\ src \ backend \ tcop \ postgres.c:900“,”“

这是一个性能问题。 ? 我有什么办法可以防止这种说法再次发生。

谢谢你 Arvind的

2 个答案:

答案 0 :(得分:1)

另一个问题可能会给出第一个问题的答案:

What do 'real', 'user' and 'sys' mean in the output of time(1)?

您可以使用非常fine grained controlls的日志记录。请务必在.conf文件中设置正确的设置。我不是性能专家,但我会说这对性能影响很小,如果数据对你来说可行,可以忽略不计。

答案 1 :(得分:0)

我在Postgresql.org表单上找到了有关数字的答案

查询1 如果将log_statement_stats设置为" on",则会发出这些行。

它们包含查询的执行统计信息。 "用户"和" sys" 通过getrusage(2)或times(2)系统调用获取时间, 根据 在您的操作系统上(在Windows上,使用GetProcessTimes)。 您可以查看系统的手册页以获取详细信息。

您看到的值是: 挂起时间,CPU用户时间和内核CPU执行时间 查询。 括号中的值是为此数据库累积的值 会话。

<回答 - Laurenz Albe回答

查询2 这是因为打开和关闭的repititive sql会话太多了

我希望它可以帮助其他用户了解日志数据显示的深度。

问候