PostgreSQL数据库锁机制——常规锁
2021/10/22 2:09:36
本文主要是介绍PostgreSQL数据库锁机制——常规锁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
常规锁也是事务锁,用于协调各种不同事务对相同对象的并发访问。在数据库启动阶段,PG通过InitLocks函数来初始化保存锁对象的共享内存空间,在共享内存中,有两个锁表被用来保存锁对象,分布式主锁表LockMethodLockHash和进程锁表LockMethodProcLockHash。锁表是一个共享内存的哈希表,当一个进程尝试获取一种类型的锁和已经存在的锁冲突时,使用storage/lmgr/proc.c中的函数将该进程置入sleep。
src/backend/storage/lmgr/lock.c * For the most part, this code should be invoked via lmgr.c * or another lock-management module, not directly. * Interface: * InitLocks(), GetLocksMethodTable(), GetLockTagsMethodTable(), * LockAcquire(), LockRelease(), LockReleaseAll(), * LockCheckConflicts(), GrantLock()
这篇关于PostgreSQL数据库锁机制——常规锁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-05快速清空 PostgreSQL 数据库中的所有表格,让你的数据库重新焕然一新!
- 2024-01-04在PostgreSQL中创建角色:判断角色是否存在并创建
- 2023-05-16PostgreSQL一站式插件推荐 -- pg_enterprise_views
- 2022-11-22PostgreSQL 实时位置跟踪
- 2022-11-22如何将PostgreSQL插件移植到openGauss
- 2022-11-11PostgreSQL:修改数据库用户的密码
- 2022-11-06Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务
- 2022-10-27Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
- 2022-10-11PostgreSql安装(Windows10版本)
- 2022-09-13PostgreSQL-Network Address类型操作和函数