PGXC_THREAD_WAIT_STATUS
PGXC_THREAD_WAIT_STATUS displays all the call layer hierarchy relationship between threads of the SQL statements on all the nodes in a cluster, and the waiting status of the block for each thread, so that you can easily locate the causes of process response failures and similar phenomena.
The definitions of PGXC_THREAD_WAIT_STATUS and PG_THREAD_WAIT_STATUS are the same, because the essence of PGXC_THREAD_WAIT_STATUS is the query summary of PG_THREAD_WAIT_STATUS on each node in the cluster.
Name |
Type |
Description |
---|---|---|
node_name |
text |
Current node name. |
db_name |
text |
Database name. |
thread_name |
text |
Thread name. |
query_id |
bigint |
Query ID. It is equivalent to debug_query_id. |
tid |
bigint |
Thread ID of the current thread. |
sessionid |
bigint |
Session ID. |
lwtid |
integer |
Lightweight thread ID of the current thread. |
psessionid |
bigint |
Parent session ID. |
tlevel |
integer |
Level of the streaming thread. |
smpid |
integer |
Concurrent thread ID. |
wait_status |
text |
Detailed information about the waiting status of the current thread. |
wait_event |
text |
Event that the current thread is waiting for. |
locktag |
text |
Information about the lock that the current thread is waiting for. |
lockmode |
text |
Lock mode that the current thread is waiting to obtain. |
block_sessionid |
bigint |
ID of the session that blocks the current thread from obtaining the lock. |
global_sessionid |
text |
Global session ID. |
Example:
If you run a statement on coordinator1 and no response is returned after a long period of time, establish another connection to coordinator1 to check the thread status on it.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.