Updated on 2024-05-07 GMT+08:00

GLOBAL_THREAD_WAIT_STATUS

In this view, you can check the blocking and waiting status of backend threads and auxiliary threads on all nodes. For details about events, see 15.3.67-Table 2 Waiting state list, 15.3.67-Table 3 List of wait events corresponding to lightweight locks, 15.3.67-Table 4 List of wait events corresponding to I/Os, and 15.3.67-Table 5 List of wait events corresponding to transaction locks.

In GLOBAL_THREAD_WAIT_STATUS, you can see all the call hierarchy relationships between threads of the SQL statements on all nodes in the database, and the block waiting status for each thread. With this view, you can easily locate the causes of process hang and similar issues.

The definitions of GLOBAL_THREAD_WAIT_STATUS and THREAD_WAIT_STATUS are the same, because the GLOBAL_THREAD_WAIT_STATUS view is essentially the query summary of the THREAD_WAIT_STATUS view on each node in the database.

Table 1 GLOBAL_THREAD_WAIT_STATUS columns

Name

Type

Description

node_name

text

Database process name

db_name

text

Database name

thread_name

text

Thread name

query_id

bigint

Query ID. The value of this column is the same as that of 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 thread of the streaming thread

tlevel

integer

Level of the streaming thread

smpid

integer

Concurrent thread ID

wait_status

text

Waiting status of the current thread. For details about the waiting status, see Table 2.

wait_event

text

If wait_status is acquire lock, acquire lwlock, or wait io, this column describes the lock, lightweight lock, or I/O information. Otherwise, this column is empty.

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 The values include modes in the table-level lock, row-level lock, and page-level lock.

block_sessionid

bigint

ID of the session that blocks the current thread from obtaining the lock

global_sessionid

text

Global session ID