PostgreSQL V9.6 预定义的LWLock锁

预定义的LWLock锁有42个,具体如下:

#define ShmemIndexLock (&MainLWLockArray[1].lock) //共享内存锁

#define OidGenLock (&MainLWLockArray[2].lock) //生成Oid的值的锁

#define XidGenLock (&MainLWLockArray[3].lock) //生成Xid(事务号)的值的锁

#define ProcArrayLock (&MainLWLockArray[4].lock) //进程锁(PostgreSQL是多进程体系结构,用于进程间互斥)

#define SInvalReadLock (&MainLWLockArray[5].lock) //共享cache的读锁(SI: shared cache invalidation data manager)

#define SInvalWriteLock (&MainLWLockArray[6].lock) //共享cache的写锁

#define WALBufMappingLock (&MainLWLockArray[7].lock) //预先日志(WAL)缓存区锁,把数据写入缓存区

#define WALWriteLock (&MainLWLockArray[8].lock) //预先日志(WAL)写锁,把数据从缓存区刷出到持久化存储

#define ControlFileLock (&MainLWLockArray[9].lock) //控制文件锁

#define CheckpointLock (&MainLWLockArray[10].lock) //CheckPoint锁,用于创建CheckPoint

#define CLogControlLock (&MainLWLockArray[11].lock) //事务日志(CLog)锁

#define SubtransControlLock (&MainLWLockArray[12].lock) //子事务锁

#define MultiXactGenLock (&MainLWLockArray[13].lock) //多事务生成锁

#define MultiXactOffsetControlLock (&MainLWLockArray[14].lock) //多事务偏移控制锁

#define MultiXactMemberControlLock (&MainLWLockArray[15].lock) //多事务成员控制锁

#define RelCacheInitLock (&MainLWLockArray[16].lock) //RelationCache初始化锁

#define CheckpointerCommLock (&MainLWLockArray[17].lock) //CheckPoint常规锁,用于创建CheckPoint之外的CheckPoint操作

#define TwoPhaseStateLock (&MainLWLockArray[18].lock) //2阶段提交状态锁,用于分布式事务

#define TablespaceCreateLock (&MainLWLockArray[19].lock) //创建、删除表空间时以排他模式加的锁

#define BtreeVacuumLock (&MainLWLockArray[20].lock) //在BTree上执行Vacuum操作清理无用元组时加的锁

#define AddinShmemInitLock (&MainLWLockArray[21].lock) //共享内存初始化锁

#define AutovacuumLock (&MainLWLockArray[22].lock) //自动执行Vacuum的进程执行操作时的锁

#define AutovacuumScheduleLock (&MainLWLockArray[23].lock) //自动执行Vacuum的进程执行do_autovacuu()函数时的锁

#define SyncScanLock (&MainLWLockArray[24].lock) //在heap上进行扫描定位数据位置(BlockNumber)时的互斥锁

#define RelationMappingLock (&MainLWLockArray[25].lock) //RelationMapping锁( Catalog-to-filenode mapping)

#define AsyncCtlLock (&MainLWLockArray[26].lock) //异步控制锁(Asynchronous notification: NOTIFY, LISTEN, UNLISTEN)

#define AsyncQueueLock (&MainLWLockArray[27].lock) //异步队列锁

#define SerializableXactHashLock (&MainLWLockArray[28].lock) //SSI(Serializable Snapshot Isolation)相关的锁

#define SerializableFinishedListLock (&MainLWLockArray[29].lock) //SSI相关的锁

#define SerializablePredicateLockListLock (&MainLWLockArray[30].lock) //SSI相关的锁

#define OldSerXidLock (&MainLWLockArray[31].lock) //SSI相关的锁

#define SyncRepLock (&MainLWLockArray[32].lock) //复制功能,同步复制相关锁

#define BackgroundWorkerLock (&MainLWLockArray[33].lock) //PostgreSQL 9.4支持background workers后台进程动态注册、启动、停止,是并行化的基础

#define DynamicSharedMemoryControlLock (&MainLWLockArray[34].lock) //动态共享内存控制锁

#define AutoFileLock (&MainLWLockArray[35].lock) //修改"postgresql.auto.conf"文件的操作锁

#define ReplicationSlotAllocationLock (&MainLWLockArray[36].lock) //复制功能,一个slot分配互斥锁

#define ReplicationSlotControlLock (&MainLWLockArray[37].lock) //复制功能,一个slot查找互斥锁

#define CommitTsControlLock (&MainLWLockArray[38].lock) //事务提交时间控制锁,与页面有关

#define CommitTsLock (&MainLWLockArray[39].lock) //事务提交时间锁,与上一个锁分别锁事务提交过程中不同的对象

#define ReplicationOriginLock (&MainLWLockArray[40].lock) //复制功能,复制相关锁

#define MultiXactTruncationLock (&MainLWLockArray[41].lock) //多事务Truncate锁

#define OldSnapshotTimeMapLock (&MainLWLockArray[42].lock) //老快照时间映射锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值