GaussDB-PGXC_THREAD_WAIT_STATUS
PGXC_THREAD_WAIT_STATUS视图可用来查看集群全局各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态,从而更容易定位进程停止响应问题以及类似现象的原因。具体字段信息如表1所示。
PGXC_THREAD_WAIT_STATUS视图和PG_THREAD_WAIT_STATUS视图列定义完全相同,这是由于PGXC_THREAD_WAIT_STATUS视图本质是到集群中各个节点上查询PG_THREAD_WAIT_STATUS视图汇总的结果。
| 名称 | 类型 | 描述 |
|---|---|---|
| node_name | text | 当前节点的名称。 |
| db_name | text | 数据库名称。 |
| thread_name | text | 线程名称。 |
| query_id | bigint | 查询id,对应debug_query_id。 |
| tid | bigint | 当前线程的线程号。 |
| sessionid | bigint | 会话id。 |
| lwtid | integer | 当前线程的轻量级线程号。 |
| psessionid | bigint | 父会话id。 |
| tlevel | integer | streaming线程的层级。 |
| smpid | integer | 并行线程的id。 |
| wait_status | text | 当前线程等待状态的详细信息。 |
| wait_event | text | 当前线程正在等待的事件,请参见表2。 |
| locktag | text | 当前线程正在等待锁的信息。 |
| lockmode | text | 当前线程正等待获取的锁模式。 |
| block_sessionid | bigint | 阻塞当前线程获取锁的会话标识。 |
| global_sessionid | text | 全局会话id。 |
例如:
在coordinator1执行一条语句之后长时间没有响应。可以创建另外一个连接到coordinator1上,查询coordinator1上的线程状态。
| ``` gaussdb=# SELECT * FROM pg_thread_wait_status WHERE query_id > 0; -[ RECORD 1 ]----+-------------------------------------- node_name | cn_5001 db_name | tpcc_row thread_name | PostgreSQL JDBC Driver query_id | 72620544050065400 tid | 140650239031040 sessionid | 11680 lwtid | 26762 psessionid | tlevel | 0 smpid | 0 wait_status | wait node: dn_6007_6008_6009, total 1 wait_event | wait node locktag | lockmode | block_sessionid | global_sessionid | 1120683504:11680#0 (1 rows) gaussdb=# SELECT * FROM pgxc_thread_wait_status WHERE query_id > 0; -[ RECORD 1 ]----+-------------------------------------------------- node_name | cn_5001 db_name | tpcc_row thread_name | PostgreSQL JDBC Driver query_id | 72620544050081616 tid | 140648290055936 sessionid | 11680 lwtid | 26839 psessionid | tlevel | 0 smpid | 0 wait_status | wait node: dn_6004_6005_6006, total 2 wait_event | wait node locktag | lockmode | block_sessionid | global_sessionid | 1120683504:11680#0 (1 rows)
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>