自Hologres V2.0版本开始,PG_STAT_ACTIVITY升级为HG_STAT_ACTIVITY视图。HG_STAT_ACTIVITY是PG_STAT_ACTIVITY视图的扩展,您可以通过HG_STAT_ACTIVITY视图查询到活跃SQL更详细的运行信息,包括query id
、query engine
以及资源消耗等信息,从而帮助您更进一步诊断活跃Query。
查询HG_STAT_ACTIVITY(PG_STAT_ACTIVITY)视图信息
您可以执行如下命令查看Query的运行信息。其他Postgres兼容管理工具,依旧可以查询pg_stat_activity获取SQL运行态信息。
--2.0及以上推荐语法
SELECT * FROM HG_STAT_ACTIVITY;
--1.3及以下版本语法
SELECT * FROM PG_STAT_ACTIVITY;
HG_STAT_ACTIVITY视图的字段说明如下所示:
字段 | 描述 | HG_STAT_ACTIVITY视图支持情况 | PG_STAT_ACTIVITY视图支持情况 |
datid | Hologres后端连接到的数据库的OID。 | 支持 | 支持 |
datname | Hologres后端连接到的数据库的名称。 | 支持 | 支持 |
pid | Hologres后端的进程ID。 | 支持 | 支持 |
query_id | 当前执行SQL的ID,一个SQL对应一个query_id。 | 支持 | 不支持 |
transaction_id | 当前SQL所属的事务ID,一个事务中可能有多个SQL。 | 支持 | 不支持 |
usesysid | 当前活跃会话用户的系统标识符。 | 支持 | 支持 |
usename | 当前连接的用户名。 | 支持 | 支持 |
application_name | 客户端的应用类型。 其中常见的应用类型如下:
其余应用建议业务上在连接Hologres时连接串上显式指定 | 支持 | 支持 |
running_info | 包含SQL执行过程各种状态信息,格式为JSON格式。其子字段包括:
| 支持 | 不支持 |
extend_info | 包含SQL执行过程资源消耗等的扩展信息,为JSON格式。其子字段包括:
说明 be_lock_waiters采集的都是backend的锁,而不是frontend的锁,排查锁请参见锁以及排查锁。 | 支持 | 不支持 |
state | 表示连接的状态。常见的状态如下:
| 支持 | 支持 |
query_start | Query开始执行的时间,如果active不是active,取值为上一个查询开始的时间。 | 支持 | 支持 |
client_addr | 客户端的IP地址。 显示的IP地址可能是被解析过的,不保证一定是源端IP。 | 支持 | 支持 |
client_hostname | 客户端的主机名。 | 支持 | 支持 |
client_port | 客户端的端口。 | 支持 | 支持 |
backend_start | 后台进程开始的时间。 在Hologres中无需过多关注。 | 支持 | 支持 |
xact_start | 该进程的当前事务被启动的时间。
在Hologres中无需过多关注。 | 支持 | 支持 |
state_change | 连接的状态(state)上一次被改变的时间。 在Hologres中无需过多关注。 | 支持 | 支持 |
wait_event_type | 后端正在等待的事件类型,如果不存在则为NULL。可能的取值有:
| 支持 | 支持 |
wait_event | 如果后端当前正在等待,则是等待事件的名称,否则为 NULL。 | 支持 | 支持 |
backend_xid | Hologres后端的顶层事务标识符。 | 支持 | 支持 |
backend_xmin | 当前后端的xmin范围。 | 支持 | 支持 |
query | 后端最近执行的查询。如果state为 | 支持 | 支持 |
backend_type | 当前后端的类型。可能的类型为autovacuum launcher、autovacuum worker、logical replication launcher、logical replication worker、parallel worker、background writer、client backend、checkpointer、startup、walreceiver、walsender以及 walwriter。除此之外还包括后端的执行组件,例如PQE等。 说明 需要关注 | 支持 | 支持 |