视图pg_stat_activity每行详细显示服务器每个进程,其中包含有关相关用户会话和查询的详细信息。除非关闭了参数stats_command_string,否则报告当前查询数据的列是可用的。此外,只有当检查视图的用户是超级用户或与拥有所报告进程的用户相同时,这些列才可见。
存储在列查询中的查询文本字符串的最大长度可以通过服务器配置参数track_activity_query_size来控制。
1.datid:database oid
2.datname:database name
3.pid:process id,后端的进程ID
4.sess_id:session id,会话id号
5.usesysid:登录到此后端的用户的OID
6.usename:登录到此后端的用户名
7.application_name:登录到此后端的程序名
8.client_addr:连接到此后端的客户端的IP地址。如果此字段为空,则表示客户端是通过服务器上的Unix套接字连接的,或者这是一个内部进程,如autovacuum。
9.client_hostname:连接到此的客户端主机名,由client_addr的反向DNS查找报告。仅当启用log_hostname时,此字段对于IP连接才为非空。
10.client_port:客户端连接到此的后端通信的TCP端口号,如果使用Unix套接字,则为-1
11.backend_start:后端进程启动的时间
12.xact_start:事务开始时间
13.query_start:查询开始时间
14.state_change:上次更改状态的时间
15.waiting:如果等待锁上,则为True,否则则为false
16.state:此后端的当前总体状态。可能的值有:
-active:后端正在运行查询。
-idle:后端正在等待新的客户端命令。
-idle in transaction:后端处于事务中,但当前未运行查询。
-idle in transaction(aborted):此状态类似于idle in transaction,只是事务中的一条语句导致了错误。
-fastpath function call:后端正在运行fastpath函数。
-disabled:如果此后端中的track_activity被停用,则会报告此状态。
17.backend_xid:事务背景的事务号
18.backend_xmin:事务会话的快照ID
NOTE:如果backend_xid和backend_xmin都为空,且state为idle in transaction,则该会话为僵尸进程可清理