GaussDB-PG_STAT_ACTIVITY
PG_STAT_ACTIVITY视图显示和当前用户查询相关的信息,字段保存的是上一次执行的信息。具体字段信息如表1所示。
| 名称 | 类型 | 描述 |
|---|---|---|
| datid | oid | 用户会话在后台连接到的数据库OID。 |
| datname | name | 用户会话在后台连接到的数据库名称。 |
| pid | bigint | 后台线程id。 |
| sessionid | bigint | 会话id。 |
| 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 | 如果后台当前正等待锁则为true。否则为false。 |
| enqueue | text | 语句当前排队状态。可能值是:- waiting in queue:表示语句在排队中。 |
- 空:表示语句正在运行。 | | state | text | 该后台当前总体状态。可能值是:- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但事务中没有语句在执行。
- idle in transaction (aborted):后台在事务中,但事务中有语句执行失败。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。说明:普通用户只能查看到自己账户所对应的会话状态。即其他账户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空:``` SELECT datname, usename, usesysid, state,pid FROM pg_stat_activity;
datname | usename | usesysid | state | pid ----------+---------+----------+--------+----------------- testdb | omm | 10 | | 139968752121616 testdb | omm | 10 | | 139968903116560 db_tpcds | judy | 16398 | active | 139968391403280 testdb | omm | 10 | | 139968643069712 testdb | omm | 10 | | 139968680818448 testdb | joe | 16390 | | 139968563377936 (6 rows)
``` |
| resource_pool | name | 用户使用的资源池。 |
| query_id | bigint | 查询语句的id。 |
| query | text | 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 |
| connection_info | text | json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、进程属主用户等信息(参见GUC参数connection_info)。 |
| global_sessionid | text | 全局的会话id。 |
| unique_sql_id | bigint | 语句的unique sql id。 |
| trace_id | text | 驱动传入的trace id,与应用的一次请求相关联。 |
| top_xid | xid | 事务的顶层事务id。 |
| current_xid | xid | 事务的当前事务id。 |
| xlog_quantity | bigint | 事务当前使用的XLOG量,单位为字节。 |
更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>