Postgresql管理-锁管理与分析

Postgresql管理-锁管理与分析

PostgreSQL中有多种锁模式,每种锁模式都有其特定的用途和兼容性规则。以下是几种常见的锁模式及其用途:

  • ACCESS SHARE :用于 SELECT 操作。(mvcc 写不阻塞读,读不阻塞写)
  • ROW SHARE :用于 SELECT ... FOR UPDATESELECT ... FOR SHARE 操作。
  • ROW EXCLUSIVE :用于 INSERTUPDATEDELETECREATE INDEX CONCURRENTLY 操作。
  • SHARE UPDATE EXCLUSIVE :用于 VACUUMANALYZECREATE INDEX 操作。
  • SHARE :用于 CREATE TRIGGER 操作。
  • SHARE ROW EXCLUSIVE :用于 CREATE INDEX 操作。
  • EXCLUSIVE :用于 REFRESH MATERIALIZED VIEW 操作。
  • ACCESS EXCLUSIVE :用于 ALTER TABLEDROP TABLE 等操作。

ACCESS SHARE锁是一种轻量级的锁,主要用于读取操作。它允许高并发读取,并且在读取期间防止表结构被修改。通过这种锁机制,PostgreSQL能够在保证数据一致性的同时提供良好的并发性能

复制代码
手动枷锁测试:

LOCK [TABLE] table_name IN ACCESS SHARE MODE;

ACCESS SHARE锁与其他类型的锁具有以下兼容性关系:

  • ACCESS SHARE锁兼容 :可以有多个事务同时持有ACCESS SHARE锁。
  • ROW SHARE锁兼容 :可以有多个事务同时持有ACCESS SHARE锁和ROW SHARE锁。
  • ROW EXCLUSIVE 锁与 ACCESS SHARE 锁是兼容的(MVCC)
相关推荐
小王C语言35 分钟前
MySQL 内置函数:日期函数、字符串函数、数学函数、其他函数
数据库·mysql
ClouGence1 小时前
当 AI 开始直接操作数据库,传统数据库管理工具还有必要吗?
数据库·后端·agent
渣渣盟1 小时前
误删数据之后:MySQL、PostgreSQL、Oracle三库紧急恢复完全实操手册
mysql·postgresql·oracle
程序员AlbertTu2 小时前
Linux 系统 Bug 调试操作手册
linux·postgresql·bug
Hugh-Yu-1301232 小时前
zhangxuefeng-skill配置教程
数据库
布莱克6052 小时前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
冰暮流星2 小时前
mysql之排序查询
数据库·mysql
7177772 小时前
让权限治理成为可复制资产:Gitee Team 空间配置方案与安全级别落地详解
数据库·gitee
今天AI了吗2 小时前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
葡萄城技术团队2 小时前
告别宽表拖拽:SpreadJS 如何让 Web 表格承接 Excel 操作习惯
数据库·html·excel