Postgresql管理-锁管理与分析

Postgresql管理-锁管理与分析

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

  • ACCESS SHARE :用于 SELECT 操作。(mvcc 写不阻塞读,读不阻塞写)
  • ROW SHARE :用于 SELECT ... FOR UPDATE 和 SELECT ... FOR SHARE 操作。
  • ROW EXCLUSIVE :用于 INSERT、UPDATE、DELETE 和 CREATE INDEX CONCURRENTLY 操作。
  • SHARE UPDATE EXCLUSIVE :用于 VACUUM、ANALYZE 和 CREATE INDEX 操作。
  • SHARE :用于 CREATE TRIGGER 操作。
  • SHARE ROW EXCLUSIVE :用于 CREATE INDEX 操作。
  • EXCLUSIVE :用于 REFRESH MATERIALIZED VIEW 操作。
  • ACCESS EXCLUSIVE :用于 ALTER TABLE、DROP 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)
相关推荐
freejackman1 小时前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql
.痞老板.2 小时前
mysql初阶--增删改查操作
数据库·mysql
Peter-OK4 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
lambo mercy7 小时前
AI智能租房助手
数据库
浮生若城8 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦8 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界8 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
csdn_aspnet9 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
山甫aa10 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
Nturmoils21 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库