PGXC_STAT_ACTIVITY
PGXC_STAT_ACTIVITY视图显示当前集群下所有CN的当前用户查询相关的信息。
名称 | 类型 | 描述 |
|---|---|---|
coorname | text | 当前集群下的CN名称。 |
datid | oid | 用户会话在后端连接到的数据库OID。 |
datname | name | 用户会话在后端连接到的数据库名称。 |
pid | bigint | 后端线程ID。 |
lwtid | integer | 后端线程的轻量级线程号。 |
usesysid | oid | 登录此后端的用户OID。 |
usename | name | 登录此后端的用户名。 |
application_name | text | 连接到此后端的应用名。 |
client_addr | inet | 连接到此后端的客户端的IP地址。 如果此字段是null,则表示通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。 |
client_hostname | text | 客户端的主机名,此字段是通过client_addr的反向DNS查找得到。仅在启动log_hostname且使用IP连接时才非空。 |
client_port | integer | 客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。 |
backend_start | timestamp with time zone | 后端进程启动时间,即客户端连接服务器的时间。 |
xact_start | timestamp with time zone | 当前事务的启动时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。 |
query_start | timestamp with time zone | 开始当前活跃查询的时间, 如果state的值不是active,则这个值是上一个查询的开始时间。 |
state_change | timestamp with time zone | 状态最后一次改变的时间。 |
waiting | boolean | 如果后端当前正等待锁或者等待节点则为t,否则为f。 |
enqueue | text | 语句当前排队状态。可能值是:
|
state | text | 后端当前总体状态。可能值是:
说明: 只有系统管理员能查看到自己账户所对应的会话状态。其他账户的state信息为空。 |
resource_pool | name | 用户使用的资源池。 |
stmt_type | text | 用户语句的语句类型。 |
query_id | bigint | 查询语句的ID。 |
query | text | 此后端的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。其他情况表示上一个查询。 |
connection_info | text | json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、进程属主用户等信息(参见connection_info)。 |
应用实例
查看当前处于阻塞状态的查询语句。
1 | SELECT datname,usename,state,query FROM PGXC_STAT_ACTIVITY WHERE waiting = true; |
查看快照线程的工作状态。
1 | SELECT application_name,backend_start,state_change,state,query FROM PGXC_STAT_ACTIVITY WHERE application_name='WDRSnapshot'; |
查看正在运行的查询语句。
1 2 3 4 5 6 7 8 9 | SELECT datname,usename,state,pid FROM PGXC_STAT_ACTIVITY; datname | usename | state | pid ----------+---------+--------+----------------- gaussdb | Ruby | active | 140298793514752 gaussdb | Ruby | active | 140298718004992 gaussdb | Ruby | idle | 140298650908416 gaussdb | Ruby | idle | 140298625742592 gaussdb | dbadmin | active | 140298575406848 (5 rows) |
查看指定数据库postgres上已使用的会话连接数。其中1表示数据库postgres上已使用的会话连接数。
1 2 3 4 5 | SELECT COUNT(*) FROM PGXC_STAT_ACTIVITY WHERE DATNAME='postgres'; count ------- 1 (1 row) |

