在PostgreSQL中,EXCLUSIVE MODE和SHARE MODE两种不同的表锁模式的区别

特性:

表锁模式描述适用场景示例
EXCLUSIVE MODE
  • 锁定表,阻止其他事务对该表的任何写操作(插入、更新、删除)。
  • 允许其他事务读取(SELECT)表数据。
  • 其他事务不能对该表施加更高层次的锁(如 EXCLUSIVE MODEACCESS EXCLUSIVE MODE),即只能进行读操作。
当你需要在修改表时,阻止其他事务对该表进行写入,但允许其他事务读取数据。

BEGIN; -- 锁定表,禁止写入,但允许读取 LOCK TABLE your_table_name IN EXCLUSIVE MODE; -- 可以执行插入、更新或删除操作 INSERT INTO your_table_name (column1) VALUES ('value'); -- 其他事务可以执行 SELECT 读取 -- 但不能执行 INSERT/UPDATE/DELETE COMMIT;

SHARE MODE
  • 锁定表,允许其他事务读取(SELECT),但禁止其他事务对表进行写操作(插入、更新、删除)。
  • SHARE MODE 锁允许多个事务同时对表加上 SHARE MODE 锁,这意味着多个事务可以共享读访问权限,但所有写操作都被禁止。
  • 其他事务不能对该表施加任何排他性(写操作)的锁定。
当你需要多个事务可以并发读取数据,同时阻止对该表的写入操作时使用。

BEGIN;

-- 锁定表,禁止写入,允许多个事务并发读取
LOCK TABLE your_table_name IN SHARE MODE;

-- 可以执行 SELECT 操作
SELECT * FROM your_table_name;

-- 其他事务可以同时执行 SELECT,但不能 INSERT/UPDATE/DELETE

COMMIT;
 

主要区别:

特性EXCLUSIVE MODESHARE MODE
允许的操作允许当前事务对表进行写操作,其他事务只能读允许多个事务并发读取,禁止写操作
对其他事务的影响阻止其他事务写操作,允许读操作阻止其他事务写操作,允许读操作
允许并发的事务数量只允许一个事务获得 EXCLUSIVE MODE允许多个事务获得 SHARE MODE
是否可以执行写操作当前事务可以执行写操作当前事务不能执行写操作
是否允许更高级别的锁模式阻止更高级别的锁模式,比如 ACCESS EXCLUSIVE允许并发的 SHARE MODE 锁定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

输出时间序列中的时区是什么Series.dt.tz_convert(tz)

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 输出时间序列中的时区是什么 Series.dt.tz_convert(tz) [太阳]选择题 关于以下代码的输出结果的说法中正确的是? import pandas as pd t pd.date_range(start2014-08-01 09:00, freq…

【Java】常用方法合集

以 DemoVo 为实体 import lombok.Data; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;Data ExcelIgnoreUnannotated public class ExportPromoteUnitResult {private String id;ExcelProperty(value &qu…

学习莫烦python---神经网络

一、卷积神经网络区别 1、“卷积” 和 “神经网络”. 卷积也就是说神经网络不再是对每个像素的输入信息做处理了,而是图片上每一小块像素区域进行处理, 这种做法加强了图片信息的连续性. 使得神经网络能看到图形, 而非一个点. 这种做法同时也加深了神经网络对图片的理解 –翻译…

项目结构(后端+前端)(若依)

项目结构(后端前端) 文章目录 项目结构(后端前端)前言一、后端结构1.若依 二、前端结构1. 总结 前言 方便了解项目结构 提示:以下是本篇文章正文内容: 一、后端结构 1.若依 com.ruoyi ├── ruoyi-adm…

SQL语句高级查询(适用于新手)

SQL查询语句的下载脚本链接!!! 【免费】SQL练习资源-具体练习操作可以查看我发布的文章资源-CSDN文库https://download.csdn.net/download/Z0412_J0103/89908378 本文旨在为那些编程基础相对薄弱的朋友们提供一份详尽的指南,特别聚…

【C++篇】栈的层叠与队列的流动:在 STL 的节奏中聆听算法的静谧旋律

文章目录 C 栈与队列详解:基础与进阶应用前言第一章:栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章:队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…

Java项目-基于spingboot框架的篮球论坛系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

【计算机网络 - 基础问题】每日 3 题(四十九)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

从Excel文件中提取HTTP链接并在浏览器中打开

本文介绍了一段Python代码,使用openpyxl库从Excel文件中提取包含HTTP或HTTPS链接的单元格,并在默认浏览器中打开这些链接。 使用说明 确保安装openpyxl库,可以使用以下命令安装: pip install openpyxl选择包含链接的Excel文件&…

帝国CMS7.0 7.2 7.5微信登录插件

这款帝国cms微信登录插件,非常方便,新手式设置。 使用方法: 1、将文件夹拷贝到 /e/memberconnect 2、访问 /e/memberconnect/weixin/install/ 进行安装 3、登陆后台 用户–>外部接口–>管理外部登陆接口 输入 appid、appkey 4、前台链…

MATLAB人脸考勤系统

MATLAB人脸考勤系统课题介绍 该课题为基于MATLAB平台的人脸识别系统。传统的人脸识别都是直接人头的比对,现实意义不大,没有一定的新意。该课题识别原理为:先采集待识别人员的人脸,进行训练,得到人脸特征值。测试的时…

【计网笔记】应用层

应用层服务传输层协议端口号DNSTCP或UDP53FTPTCP20或21TELNETTCP23HTTPTCP80HTTPSTCP443SMTPTCP25POP3TCP110IMAPTCP143MIME//DHCPUDP67SNMPUDP161 域名系统DNS 使用具有一定语义的域名来助记IP地址 一个域名可能有多个IP地址 服务器农场 前端调配请求去不同的服务器不同服务…

机器学习面试笔试知识点之K近邻算法(KNN)、最大期望算法(EM)

机器学习面试笔试知识点之K近邻算法KNN、最大期望算法EM 一、K近邻算法(KNN)(监督学习算法)1. 什么是KNN1.1 KNN的通俗解释1.2 近邻的距离度量1.3 K值选择1.4 KNN最近邻分类算法的过程 2.KDD的实现:KD树2.1 构建KD树2.2 KD树的插入2.3 KD树的…

vue 项目i18n国际化,快速抽离中文,快速翻译

国际化大家都知道vue-i18n 实现的,但是有个问题,就是繁杂的抽离中文字符的过程,以及翻译中文字符的过程,关于这个有些小工具可以希望可以帮到大家 1.安装vue-i18n npm i vue-i18n8.22.22.ElementUI多语言配置 在src目录下创建…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第六篇-阶段总结篇】

因为马上就要进入下一个阶段,制作动态编辑体积纹理的模块。 但在这之前,要在这一章做最后一些整理。 首先,我们完成没完成的部分。其次,最后整理一下图表。最后,本文附上正在用的贴图 完善Shader 还记得我们之前注…

联想ThinkPad笔记本怎么开启vt_ThinkPad笔记本开启vt虚拟化教程

最近使用联想ThinkPad笔记本的小伙伴们问我,联想ThinkPad笔记本怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术,当CPU支持VT-x虚拟化技术,有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中,手…

Florence-2视觉语言模型简明教程

近年来,计算机视觉领域见证了基础模型的兴起,这些模型无需训练自定义模型即可进行图像注释。我们已经看到了用于分类的 CLIP [2]、用于对象检测的 GroundingDINO [3] 和用于分割的 SAM [4] 等模型——每个模型都在其领域表现出色。但是,如果我…

将VSCode界面的显示语言改为简体中文,切换VScode界面的显示语言

VSCode界面默认的语言为英语,需要安装简体中文语言包,语言包为插件 (Extension)。 Step1: 点击左侧扩展按钮 Step2: 在搜索栏 ,输入chinese Step3: 选择第一个简体中文,点击右下角install 按钮 Step4: 安装…

【K8S系列】Kubernetes node节点NotReady问题及解决方案详解【已解决】

Kubernetes 集群中的每个节点都是运行容器化应用的基础。当节点状态显示为 NotReady 时,意味着该节点无法正常工作,这可能会导致 Pod 无法调度,从而影响整个应用的可用性。本文将深入分析节点不健康的各种原因、详细的排查步骤以及有效的解决方案。 一、节点不健康的原因 节…

小程序视频SDK解决方案,提供个性化开发和特效定制设计

美摄科技作为视频处理技术的领航者,深知在这一变革中,每一个细微的创新都能激发无限可能。因此,我们精心打造了一套小程序视频SDK解决方案,旨在满足不同行业、不同规模客户的多元化需求,携手共创视频内容的璀璨未来。 …