WAIT_EVENT_INFO
WAIT_EVENT_INFO视图显示wait event的具体信息。
名称 | 类型 | 描述 |
|---|---|---|
module | text | event所属的模块名。 |
type | text | event类型。 |
event | text | event名称。 |
模块分类 | 事件分类 | 事件 | 说明 |
|---|---|---|---|
Lock | 等待事件 | acquire lock | 等待加锁,要么加锁成功,要么加锁等待超时。 |
SharedMemory | LWLOCK事件 | ShmemIndexLock | 用于保护共享内存中的主索引哈希表 |
Shared buffer | LWLOCK事件 | BufMappingLock | 用于保护对共享缓冲映射表的操作。 |
Lmgr | LWLOCK事件 | LockMgrLock | 用于保护常规锁结构信息。 |
LWLock | 等待事件 | acquire lwlock | 等待获取轻量级锁 |
I/O | 等待事件 | wait io | 等待IO完成 |
COMM | 等待事件 | wait cmd | 等待完成读取网络通信包 |
COMM | 等待事件 | wait pooler get conn | 等待pooler完成获取连接 |
COMM | 等待事件 | wait pooler abort conn | 等待pooler完成终止连接 |
COMM | 等待事件 | wait pooler clean conn | 等待pooler完成清理连接 |
COMM | 等待事件 | get conn | 获取到其他节点的连接 |
COMM | 等待事件 | set cmd | 在连接上执行SET/RESET/TRANSACTION BLOCK LEVEL |
COMM | 等待事件 | cancel query | 取消某连接上正在执行的SQL语句 |
COMM | 等待事件 | stop query | 停止某连接上正在执行的查询 |
COMM | 等待事件 | wait node | 等待接收与某节点的连接上的数据 |
COMM | 等待事件 | flush data | 等待向网络中的其他节点发送数据 |
COMM | 等待事件 | stream get conn | 初始化stream flow时,等待建立到consumer nodes的连接。 |
COMM | 等待事件 | wait producer ready | 初始化stream flow时,等待每个producer都准备好。 |
Stream | 等待事件 | synchronize quit | stream plan结束时,等待stream线程组内的线程统一退出。 |
Stream | 等待事件 | wait stream group destroy | stream plan结束时,等待销毁stream node group。 |
Transaction | 等待事件 | wait transaction sync | 等待事务同步 |
Transaction | 等待事件 | wait data sync | 等待完成数据页到备机的同步 |
Transaction | 等待事件 | wait data sync queue | 等待把行存的数据页放入同步队列 |
Transaction | LWLOCK事件 | OidGenLock | 用于避免不同线程产生相同的OID。 |
Transaction | LWLOCK事件 | XidGenLock | 用于避免两个事务获得相同的xid。 |
Transaction | LWLOCK事件 | ProcArrayLock | 用于避免并发访问或修改ProcArray共享数组。 |
Transaction | LWLOCK事件 | SubtransControlLock | 用于避免并发访问或者修改子事务控制数据结构 |
Transaction | LWLOCK事件 | MultiXactGenLock | 用于串行分配唯一MultiXactid |
Transaction | LWLOCK事件 | TwoPhaseStateLock | 用于避免并发访问或者修改两阶段信息共享数组 |
Transaction | LWLOCK事件 | SerializableXactHashLock | 用于避免对于可串行事务共享结构的写写并发和读写并发 |
Transaction | LWLOCK事件 | SerializableFinishedListLock | 用于避免对于已完成可串行事务共享链表的写写并发和读写并发 |
Transaction | LWLOCK事件 | SerializablePredicateLockListLock | 用于保护对于可串行事务持有的锁链表 |
Transaction | LWLOCK事件 | PredicateLockMgrLock | 用于保护可串行事务锁结构信息。 |
Transaction | LWLOCK事件 | OldSerXid SLRU lwlock | 保护old xids的slru buffer |
Transaction | LWLOCK事件 | OldSerXidLock | 用于保护记录冲突可串行事务的结构 |
Transaction | LOCK事件 | transactionid | 对事务ID加锁 |
Transaction | LOCK事件 | virtualxid | 对虚拟事务ID加锁 |
Checkpoint | LWLOCK事件 | CheckpointLock | 用于避免多个checkpoint并发执行 |
Checkpoint | LWLOCK事件 | CheckpointerCommLock | 用于向checkpointer发起文件刷盘请求场景,需要串行的向请求队列插入请求结构。 |
Analyze | LWLOCK事件 | AutoanalyzeLock | 用于获取和释放允许执行Autoanalyze的任务资源。 |
Vacuum | LWLOCK事件 | BtreeVacuumLock | 用于防止vacuum清理btree中还在使用的页面。 |
Vacuum | LWLOCK事件 | AutovacuumLock | 用于串行化访问autovacuum worker数组 |
Vacuum | LWLOCK事件 | AutovacuumScheduleLock | 用于串行化分配需要vacuum的table |
Auto vacuum | LWLOCK事件 | AutovacuumLock | 用于保护autovacuum shmem struct |
Auto vacuum | LWLOCK事件 | AutovacuumScheduleLock | 用于保护auto vacuum worker信息 |
Auto analyze | LWLOCK事件 | AutoanalyzeLock | 用于保护autoAnalyzeFreeProcess变量,保证最多有10个auto analyze线程同时运行。 |
WAL | 等待事件 | wait wal sync | 等待特定LSN的wal log完成到备机的同步 |
WAL | I/O事件 | WALBootstrapSync | 将初始化的WAL文件持久化到磁盘。在数据库初始化发生。 |
WAL | I/O事件 | WALBootstrapWrite | 写入初始化的WAL文件。在数据库初始化发生。 |
WAL | I/O事件 | WALCopyRead | 读取已存在的WAL文件并进行复制时产生的读操作。在执行归档恢复完后发生。 |
WAL | I/O事件 | WALCopySync | 将复制的WAL文件持久化到磁盘。在执行归档恢复完后发生。 |
WAL | I/O事件 | WALCopyWrite | 读取已存在WAL文件并进行复制时产生的写操作。在执行归档恢复完后发生。 |
WAL | I/O事件 | WALInitSync | 将新初始化的WAL文件持久化磁盘。在日志回收或写日志时发生。 |
WAL | I/O事件 | WALInitWrite | 将新创建的WAL文件初始化为0。在日志回收或写日志时发生。 |
WAL | I/O事件 | WALRead | 从xlog日志读取数据。两阶段文件redo相关的操作产生。 |
WAL | I/O事件 | WALSyncMethodAssign | 将当前打开的所有WAL文件持久化到磁盘。 |
WAL | I/O事件 | WALWrite | 写入WAL文件。 |
WAL | I/O事件 | LOGCTRL_SLEEP | 统计流控发生了多少次、日志流控的睡眠时间。 |
WAL | LWLOCK事件 | RcvWriteLock | 防止并发调用WalDataRcvWrite。 |
WAL | LWLOCK事件 | WALBufMappingLock | 初始化Xlogbufer的下一个page时需要加x锁。 |
WAL | LWLOCK事件 | WALInsertLock | 用于防止多个程序同时向同一个xlog缓冲区写。 |
WAL | LWLOCK事件 | WALWriteLock | 用于避免并发刷写wal日志。 |
Relation | LWLOCK事件 | SInvalReadLock | 用于避免与清理失效消息并发执行。 |
Relation | LWLOCK事件 | SinvalWriteLock | 用于避免与其它写失效消息、清理失效消息并发执行。 |
Relation | LWLOCK事件 | RelCacheInitLock | 用于失效消息场景对init文件进行操作时加锁。 |
Relation | LWLOCK事件 | TablespaceCreateLock | 用于确定tablespace是否已经存在。 |
Relation | LWLOCK事件 | RelfilenodeReuseLock | 避免错误地取消已重用的列属性文件的链接。 |
Relation | LOCK事件 | relation | 对表加锁。 |
Relation | LOCK事件 | extend | 对表扩展空间时加锁。 |
Relation | LOCK事件 | partition | 对分区表加锁。 |
Relation | LOCK事件 | partition_seq | 对分区表的分区加锁。 |
WLM | 等待事件 | wait active statement | WLM等待active statement。 |
WLM | 等待事件 | wait memory | WLM 等待空余内存。 |
DDL/DCL | 等待事件 | create index | 等待index创建成功。 |
DDL/DCL | 等待事件 | analyze | 等待analyze完成。 |
DDL/DCL | 等待事件 | vacuum | 等待vacuum 完成。 |
DDL/DCL | LWLOCK事件 | DelayDDLLock | 防止并发ddl。 |
DDL/DCL | 等待事件 | vacuum full | 等待vacuum full操作 完成。 |
Executor | 等待事件 | Sort | 等待tuple 排序完成。 |
Executor | 等待事件 | Sort - write file | 归并排序时内存受限,将排序完的数据暂时写入文件。 |
Executor | 等待事件 | Material | 等待将tuple物化。 |
Executor | 等待事件 | Material - write file | 等待将物化的tuple写入文件。 |
Executor | 等待事件 | HashJoin - build hash | 执行hashJoin时,等待hashtable建立完成。 |
Executor | 等待事件 | HashJoin - write file | 执行hashJoin时,等待将tuple的hash结果写到磁盘。 |
Executor | 等待事件 | HashAgg - build hash | 执行hashagg时,等待hashtable建立完成。 |
Executor | 等待事件 | HashAgg - write file | 执行hashagg时,等待将tuple的hash结果写到磁盘。 |
Executor | 等待事件 | HashSetop - build hash | 通过hash方式执行OP操作时,等待建立hash表。 |
Executor | 等待事件 | HashSetop - write file | 通过hash方式执行OP操作时,等待将tuple的hash结果写到磁盘。 |
Executor | 等待事件 | wait sync consumer next step | 等待stream consumer进行下一步处理。 |
Executor | 等待事件 | wait sync producer next step | 等待stream producer进行下一步处理。 |
GTM | 等待事件 | gtm connect | 等待与gtm连接 |
GTM | 等待事件 | gtm reset xmin | 等待gtm重新设置xmin完成 |
GTM | 等待事件 | gtm get xmin | 等待从gtm获取xmin |
GTM | 等待事件 | gtm get gxid | 启动事务时等待从gtm获取gxid |
GTM | 等待事件 | gtm get csn | 事务提交时等待从gtm获取CSN |
GTM | 等待事件 | gtm get snapshot | 事务启动时等待从gtm获取快照 |
GTM | 等待事件 | gtm begin trans | 等待GTM开启事务 |
GTM | 等待事件 | gtm commit trans | 等待GTM提交事务 |
GTM | 等待事件 | gtm rollback trans | 等待GTM回滚事务 |
GTM | 等待事件 | gtm start preprare trans | 两阶段提交时,等待GTM完成一阶段。 |
GTM | 等待事件 | gtm prepare trans | 两阶段提交时,等待GTM完成第二阶段。 |
GTM | 等待事件 | gtm open sequence | 等待gtm创建sequence。 |
GTM | 等待事件 | gtm close sequence | 等待gtm完成alter sequence操作。 |
GTM | 等待事件 | gtm set sequence val | 等待gtm设置sequence的值 |
GTM | 等待事件 | gtm drop sequence | 等待gtm删除sequence |
GTM | 等待事件 | gtm rename sequence | 等待gtm重命名sequence |
GTM | LWLOCK事件 | GTMHostInfoLock | 用于保护gtm的信息 |
Temp File | I/O事件 | BufFileRead | 从临时文件中读取数据到指定buffer |
Temp File | I/O事件 | BufFileWrite | 向临时文件中写入指定buffer中的内容 |
Pg_control | I/O事件 | ControlFileRead | 读取pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 |
Pg_control | I/O事件 | ControlFileSync | 将pg_control文件持久化到磁盘。数据库初始化时发生。 |
Pg_control | I/O事件 | ControlFileSyncUpdate | 将pg_control文件持久化到磁盘。主要在数据库启动、执行checkpoint和主备校验过程中发生。 |
Pg_control | I/O事件 | ControlFileWrite | 写入pg_control文件。数据库初始化时发生。 |
Pg_control | I/O事件 | ControlFileWriteUpdate | 更新pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 |
Pg_control | LWLOCK事件 | ControlFileLock | 用于避免pg_control文件的读写并发、写写并发。 |
文件操作 | I/O事件 | CopyFileRead | copy文件时读取文件内容 |
文件操作 | I/O事件 | CopyFileWrite | copy文件时写入文件内容 |
文件操作 | I/O事件 | DataFileExtend | 扩展文件时向文件写入内容 |
表数据文件 | I/O事件 | DataFileImmediateSync | 将表数据文件立即持久化到磁盘 |
表数据文件 | I/O事件 | DataFilePrefetch | 异步读取表数据文件 |
表数据文件 | I/O事件 | DataFileRead | 同步读取表数据文件 |
表数据文件 | I/O事件 | DataFileSync | 将表数据文件持久化磁盘 |
表数据文件 | I/O事件 | DataFileTruncate | 表数据文件truncate |
表数据文件 | I/O事件 | DataFileWrite | 向表数据文件写入内容 |
表数据文件 | LWLOCK事件 | SyncScanLock | 用于确定heap扫描时某个relfilenode的起始位置 |
表数据文件 | LWLOCK事件 | RelationMappingLock | 用于等待更新系统表到存储位置之间映射的文件 |
元数据 | LWLOCK事件 | MetaCacheSweepLock | 用于元数据循环淘汰 |
postmaster.pid | I/O事件 | LockFileAddToDataDirRead | 读取"postmaster.pid"文件 |
postmaster.pid | I/O事件 | LockFileAddToDataDirSync | 将"postmaster.pid"内容持久化到磁盘 |
postmaster.pid | I/O事件 | LockFileAddToDataDirWrite | 将pid信息写到"postmaster.pid"文件 |
Pid File | I/O事件 | LockFileCreateRead | 读取LockFile文件"%s.lock" |
Pid File | I/O事件 | LockFileCreateSync | 将LockFile文件"%s.lock"内容持久化到磁盘 |
Pid File | I/O事件 | LockFileCreateWRITE | 将pid信息写到LockFile文件"%s.lock" |
系统表映射文件 | I/O事件 | RelationMapRead | 读取系统表到存储位置之间的映射文件 |
系统表映射文件 | I/O事件 | RelationMapSync | 将系统表到存储位置之间的映射文件持久化到磁盘 |
系统表映射文件 | I/O事件 | RelationMapWrite | 写入系统表到存储位置之间的映射文件 |
Streaming replication | I/O事件 | ReplicationSlotRead | 读取流复制槽文件。重新启动时发生 |
Streaming replication | I/O事件 | ReplicationSlotRestoreSync | 将流复制槽文件持久化到文件 |
Streaming replication | I/O事件 | ReplicationSlotSync | checkpoint时将流复制槽临时文件持久化到磁盘 |
Streaming replication | I/O事件 | ReplicationSlotWrite | checkpoint时写流复制槽临时文件 |
Streaming replication | LWLOCK事件 | ReplicationSlotAllocationLock | 方式分配同一个复制槽 |
Streaming replication | LWLOCK事件 | ReplicationSlotControlLock | 检测复制槽名称冲突,识别出具体可分配的复制槽,需要ReplicationSlotControlLock锁。 |
Clog | I/O事件 | SLRUFlushSync | 将pg_clog文件持久化到磁盘。主要在执行checkpoint和数据库停机时发生 |
Clog | I/O事件 | SLRURead | 读取pg_clog文件 |
Clog | I/O事件 | SLRUSync | 将脏页写入文件pg_clog并持久化到磁盘。主要在执行checkpoint和数据库停机时发生。 |
Clog | I/O事件 | SLRUWrite | 写入pg_clog文件 |
Clog | LWLOCK事件 | CLogControlLock | 用于避免并发访问或者修改Clog控制数据结构 |
Clog | LWLOCK事件 | MultiXactOffsetControlLock | 用于避免对pg_multixact/offset的写写并发和读写并发 |
Clog | LWLOCK事件 | MultiXactMemberControlLock | 用于避免对pg_multixact/members的写写并发和读写并发 |
timelinehistory | I/O事件 | TimelineHistoryRead | 读取timelinehistory文件。在数据库启动时发生。 |
timelinehistory | I/O事件 | TimelineHistorySync | 将timelinehistory文件持久化到磁盘。在数据库启动时发生。 |
timelinehistory | I/O事件 | TimelineHistoryWrite | 写入timelinehistory文件 |
pg_twophase | I/O事件 | TwophaseFileRead | 读取pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 |
pg_twophase | I/O事件 | TwophaseFileSync | 将pg_twophase文件持久化到磁盘。在两阶段事务提交、两阶段事务恢复时发生。 |
pg_twophase | I/O事件 | TwophaseFileWrite | 写入pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 |
Cluster | LWLOCK事件 | NodeTableLock | 用于保护存放CN和DN节点信息的共享结构 |
Concurrency | LWLOCK事件 | PoolerLock | 用于保证两个线程不会同时从连接池里取到相同的连接 |
Concurrency | LWLOCK事件 | AsyncCtlLock | 用于避免并发访问或者修改共享通知状态 |
Concurrency | LWLOCK事件 | AsyncQueueLock | 用于避免并发访问或者修改共享通知信息队列 |
Double write | I/O事件 | DoubleWriteFileWrite | Double write过程中将页面写到Double write文件中 |
Double write | I/O事件 | DoubleWriteFileRead | 发生半写进行恢复时读取Double write文件 |
Statistics file | LWLOCK事件 | FileStatLock | 用于保护存储统计文件信息的数据结构 |
Master-slave replication | LWLOCK事件 | SyncRepLock | 用于在主备复制时保护xlog同步信息。 |
Master-slave replication | LWLOCK事件 | ReplicationSlotAllocationLock | 用于主备复制时保护主机端的流复制槽的分配。 |
Master-slave replication | LWLOCK事件 | ReplicationSlotControlLock | 用于主备复制时避免并发更新流复制槽状态。 |
Master-slave replication | LWLOCK事件 | LsnXlogChkFileLock | 用于串行更新特定结构中记录的主备机的xlogflush位置点 |
Master-slave replication | LWLOCK事件 | DataSyncRepLock | 用于在主备复制时保护数据页同步信息。 |
Speed up the cluster | LWLOCK事件 | SearchServerLibLock | 用于GPU加速场景初始化加载特定动态库时,对读文件操作进行加锁。 |
Resource manage | LWLOCK事件 | ResourcePoolHashLock | 用于避免并发访问或者修改资源池哈希表。 |
Resource manage | LWLOCK事件 | WorkloadStatHashLock | 用于避免并发访问或者修改包含CN侧的SQL请求构成的哈希表。 |
Resource manage | LWLOCK事件 | WorkloadIoStatHashLock | 用于避免并发访问或者修改用于统计当前DN的IO信息的哈希表。 |
Resource manage | LWLOCK事件 | WorkloadCGroupHashLock | 用于避免并发访问或者修改cgroup信息构成的哈希表。 |
Resource manage | LWLOCK事件 | WorkloadRecordLock | 用于避免并发访问或修改在内存自适应管理时对CN收到请求构成的哈希表。 |
Resource manage | LWLOCK事件 | WorkloadIOUtilLock | 用于保护记录iostat,CPU等负载信息的结构。 |
Resource manage | LWLOCK事件 | WorkloadNodeGroupLock | 用于避免并发访问或者修改内存中的nodegroup信息构成的哈希表。 |
OBS | LWLOCK事件 | OBSGetPathLock | 用于避免对obs路径的写写并发和读写并发。 |
OBS | LWLOCK事件 | OBSRuntimeLock | 用于获取环境变量,如GASSHOME。 |
MPP is compatible with ORACLE scheduled task function | LWLOCK事件 | JobShmemLock | 用于MPP兼容ORACLE定时任务功能中保护定时读取的全局变量。 |
Operator history information statistics | LWLOCK事件 | OperatorRealTLock | 用于避免并发访问或者修改记录算子级实时数据的全局结构。 |
Operator history information statistics | LWLOCK事件 | OperatorHistLock | 用于避免并发访问或者修改记录算子级历史数据的全局结构。 |
query history information statistics | LWLOCK事件 | SessionRealTLock | 用于避免并发访问或者修改记录query级实时数据的全局结构。 |
query history information statistics | LWLOCK事件 | SessionHistLock | 用于避免并发访问或者修改记录query级历史数据的全局结构。 |
query history information statistics | LWLOCK事件 | WaitCountHashLock | 用于保护用户语句计数功能场景中的共享结构。 |
barrier | LWLOCK事件 | BarrierLock | 用于保证当前只有一个线程在创建Barrier。 |
CSN | LWLOCK事件 | CSNBufMappingLock | 保护csn页面。 |
instrumentation | LWLOCK事件 | UniqueSQLMappingLock | 用于保护uniquesql hash table。 |
instrumentation | LWLOCK事件 | InstrUserLock | 用于保护InstrUserHTAB。 |
instrumentation | LWLOCK事件 | PercentileLock | 用于保护全局PercentileBuffer。 |
instrumentation | LWLOCK事件 | InstrWorkloadLock | 保护全局instr workload xact info hash table。 |
Pgproc | LWLOCK事件 | Pgproc lwlock | 用于保护pgproc。 |
Async buffer | LWLOCK事件 | AsyncCtlLock | 保护Async buffer。 |
MultiXact | LWLOCK事件 | MultiXactOffset lwlock | 保护MultiXact offset的slru buffer。 |
MultiXact | LWLOCK事件 | MultiXactMemberlwlock | 保护MultiXact member的slrubuffer。 |
CBM | LWLOCK事件 | CBMParseXlogLock | Cbm 解析xlog时的保护锁。 |
BadBlock | LWLOCK事件 | BadBlockStatHashLock | 用于保护global_bad_block_stat hash表。 |
Page | LOCK事件 | page | 对表页面加锁。 |
Tuple | LOCK事件 | tuple | 对页面上的tuple加锁。 |
object | LOCK事件 | object | 加对象锁。 |
user | LOCK事件 | userlock | 加用户锁。 |
advisor | LOCK事件 | advisory | 加advisory锁。 |
ODBC | LWLOCK事件 | ExtensionConnectorLibLock | 用于初始化ODBC连接场景,在加载与卸载特定动态库时进行加锁。 |
Undo | 等待事件 | wait fetch undo record | 等待读取目标undo记录。 |
Heap | 等待事件 | wait heap hot search buffer | 等待通过hot链读取满足快照的Astore元组。 |
LWLock | 等待事件 | wait exclusive lwlock | 防饿死机制触发,新的轻量级锁加锁请求等待之前被阻塞的轻量级锁获取到。 |

