
# WAIT_EVENT_INFO
WAIT_EVENT_INFO视图显示wait event的具体信息。
表1WAIT_EVENT_INFO字段 
| **名称** | **类型** | **描述**       |
|:---|:---|:---|
| module | text   | event所属的模块名。 |
| type   | text   | event类型。     |
| event  | text   | event名称。     |
   
表2Wait Events事件信息列表 
| **模块分类**                                              | **事件分类** | **事件**                            | **说明**                                                   |
|:---|:---|:---|:---|
| 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             | 防饿死机制触发，新的轻量级锁加锁请求等待之前被阻塞的轻量级锁获取到。                       |
   
