
# PGXC_THREAD_WAIT_STATUS
PGXC_THREAD_WAIT_STATUS视图可用来查看集群全局各个节点上所有SQL语句产生的线程之间的调用层次关系，以及各个线程的阻塞等待状态，从而更容易定位进程停止响应问题以及类似现象的原因。
PGXC_THREAD_WAIT_STATUS视图和PG_THREAD_WAIT_STATUS视图列定义完全相同，这是由于PGXC_THREAD_WAIT_STATUS视图本质是到集群中各个节点上查询PG_THREAD_WAIT_STATUS视图汇总的结果。
表1PGXC_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    | 当前线程正在等待的事件。           |
| locktag          | text    | 当前线程正在等待锁的信息。          |
| lockmode         | text    | 当前线程正等待获取的锁模式。         |
| block_sessionid  | bigint  | 阻塞当前线程获取锁的会话标识。        |
| global_sessionid | text    | 全局会话ID。                |
   
例如：
在coordinator1执行一条语句之后长时间没有响应。可以创建另外一个连接到coordinator1上，查询coordinator1上的线程状态。
```
openGauss=# SELECT * FROM pg_thread_wait_status WHERE query_id > 0;
  node_name   | db_name  | thread_name  | query_id |       tid       | lwtid | ptid  | tlevel | smpid |     wait_status   |   wait_event   
--------------+----------+--------------+----------+-----------------+-------+-------+--------+-------+----------------------
 coordinator1 | postgres | gsql         | 20971544 | 140274089064208 | 22579 |       |      0 |     0 | wait node: datanode4 |
(1 rows)
openGauss=# SELECT * FROM pgxc_thread_wait_status WHERE query_id > 0;
  node_name   | db_name  | thread_name  |     query_id      |      tid       |   sessionid    | lwtid  | psessionid | tlevel | smpid | wait_status | wait_event
--------------+----------+--------------+-------------------+----------------+----------------+--------+------------+--------+-------+-------------+------------
 coordinator1 | postgres | gsql         | 77687093572155050 | 47212704827136 | 47212704827136 |  63191 |            |      0 |     0 | none        |
 coordinator2 | postgres | coordinator1 | 77687093572155050 | 47403117319936 | 47403117319936 | 159322 |            |      0 |     0 | none        |
 data_node1   | postgres | coordinator1 | 77687093572155050 | 47723869374208 | 47723869374208 | 159320 |            |      0 |     0 | none        |
 data_node2   | postgres | coordinator1 | 77687093572155050 | 47852867290880 | 47852867290880 | 159321 |            |      0 |     0 | none        |
(4 rows)
```
