IDLE状态在pg_stat_activity行中表示什么?


14

有人可以解决我关于pg_stat_activitypostgres 9.5的以下疑问吗?

  1. 可以让我知道state IDLE行中的表示什么pg_stat_activity吗?是否就像它检查到postgres的所有打开的连接,并且如果该连接未执行任何查询,则IDLE表示该连接执行的最后一个查询?
  2. 在输出中,select * from pg_stat_activity我看到与state IDLE的行和query_start_date超过2天的行?这意味着什么?我应该为此担心吗?
  3. 有人可以让我知道如何填充pg_stat_activity吗?如果我正在执行查询,例如Select * from pg_stat_activity它是否从postgres维护的某些快照中生成详细信息,或者它检查在postgres中打开的当前连接以提供详细信息?

Answers:


11

在postgres 邮件列表中已经回答了

pg_stat_activity中的每一行代表从客户端到服务器的已建立连接。“空闲”表示客户端当前未在执行查询,也未在事务中。

如果query_start_date已存在2天,则意味着该连接上要执行的最后一个查询是在两天前。

除非您打开了太多的连接以至于它消耗了无法承受的RAM,否则这并不是真正令人担心的原因。通常希望连接池具有几个空闲连接,这样查询就不会遭受建立新连接的延迟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.