当前位置: 首页 > news >正文

Postgresql事务测试

参考一个事务中 可以查询自己未提交的数据吗_最详细MySQL事务隔离级别及原理讲解!(二)-CSDN博客

一个事务中 可以查询自己未提交的数据吗_趣说数据库事务隔离级别与原理_weixin_39747293的博客-CSDN博客

【MySql:当前读与快照读】_当前读和快照读_QuietThinking的博客-CSDN博客

PostgreSQL实战之事务与并发控制(二)_postgresql 默认事务级别_auspicious航的博客-CSDN博客

当前事务默认级别:

SELECT current_setting ('default_transaction_isolation')

 结果:read committed (读已提交)

一个事务的sql:

能读到当前事务修改的数据

Begin transaction;
-- SELECT * FROM "budget_base_config";
SELECT sum(deadline) FROM "budget_base_config";
update "budget_base_config" set deadline=12 where period='2023-07';
-- SELECT * FROM "budget_base_config";
SELECT sum(deadline) FROM "budget_base_config";
commit;

结果   123    24

read committed级别能解决脏读问题。其他事务未提交的数据无法读取

2个事务

事务1未提交

Begin transaction;
SELECT sum(deadline) FROM "budget_base_config";
update "budget_base_config" set deadline=11 where period='2023-07';
SELECT sum(deadline) FROM "budget_base_config";
-- commit;

结果121   21

事务2查询之前的数据

Begin transaction;
-- SELECT * FROM "budget_base_config";
SELECT sum(deadline) FROM "budget_base_config";

结果121

但是read committed是不可重复读的,一个事务中读取的2次数据的时间间隔里因为另一个事务的提交,导致前后2次数据读取不一致

事务一执行
Begin transaction;
SELECT sum(deadline) FROM "budget_base_config";结果121事务二执行
Begin transaction;
update "budget_base_config" set deadline=11111 where period='2023-07';
commit;事务一再执行
SELECT sum(deadline) FROM "budget_base_config";结果
11121

设置当前会话的隔里级别为REPEATABLE READ(可重复读)

事务一执行
START TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SHOW transaction_isolation;
Begin transaction;
SELECT sum(deadline) FROM "budget_base_config";结果11121事务二执行
Begin transaction;
update "budget_base_config" set deadline=1 where period='2023-07';
SELECT sum(deadline) FROM "budget_base_config";
commit;结果11事务一执行
SELECT sum(deadline) FROM "budget_base_config";结果11121

可见现在事务一前后读取数据一致

相关文章:

Postgresql事务测试

参考一个事务中 可以查询自己未提交的数据吗_最详细MySQL事务隔离级别及原理讲解!(二)-CSDN博客 一个事务中 可以查询自己未提交的数据吗_趣说数据库事务隔离级别与原理_weixin_39747293的博客-CSDN博客 【MySql:当前读与快照读…...

【数据结构--排序】冒泡排序,选择排序,插入排序

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...

vue pc端/手机移动端 — 下载导出当前表格页面pdf格式

一、需求:在手机端/pc端实现一个表格页面(缴费单/体检报告单等)的导出功能,便于用户在本地浏览打印。 二、实现:之前在pc端做过预览打印的功能,使用的是print.js之类的方法让当前页面直接唤起打印机的打印预…...

125. 验证回文串 【简单题】

题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则…...

描述性统计分析

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件可在个人主页—…...

Visual Studio2019 C++ 编程问题集锦

“const char*” 类型的值不能用于初始化“char*"类型的实体 解决方案一: 点击项目->属性->C/C>语言->符合模式,将原来的“是”改为“否”即可。解决方案二: 在声明变量 char* 时改成 const char *即可...

链表的回文判断

思路: 找中间节点–>逆置->比较 代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* head) { struct ListNode*slowhead; struct ListNode*f…...

281_JSON_两段例子的比较,哪一段更简洁、易懂、没有那么多嵌套

《第一份:》//组装Notificationif (bSendAINotification){BOOST_AUTO(iter_flashnotification, documentAll.FindMember("Notification"));if (iter_flashnotification != documentAll....

想要精通算法和SQL的成长之路 - 最长递增子序列 II(线段树的运用)

想要精通算法和SQL的成长之路 - 最长递增子序列 II(线段树的运用) 前言一. 最长递增子序列 II1.1 向下递推1.2 向上递推1.3 更新操作1.4 查询操作1.5 完整代码: 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 最长递增子序列 II 原题链接…...

java用easyexcel按模版导出

首先在项目的resources下面建一个template包,之后在下面创建一个模版,模版格式如下: 名称为 financeReportBillStandardTemplateExcel.xlsx: {.fee}类型的属性值,是下面实体类的属性,要注意这里面的格式&a…...

Servlet执行流程生命周期方法介绍体系结构、Request和Response的功能详解

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Servlet 一、 Servlet执行流程二、Servlet生…...

软件工程之总体设计

总体设计是软件工程中的一个重要阶段,它关注整个系统的结构和组织,旨在将系统需求转化为可执行的软件解决方案。总体设计决定了系统的架构、模块划分、功能组织以及数据流和控制流等关键方面。 可行性研究 具体方面:经济可行性、技术可行性…...

监控员工电脑文件拷贝记录:电脑怎么看员工复制文件的历史记录

在现代企业管理中,数据安全和保密是极其重要的一环。企业需要确保敏感信息不被泄露,以防止可能的法律纠纷和经济损失。为此,许多公司都采取了一些措施来监控员工的电脑使用行为。其中,监控文件拷贝记录是一种常见的方法。本文将详…...

vue中request.js中axios请求和(若依)文件通用下载方法封装

vue中request.js中axios请求和(若依)文件通用下载方法封装 1.request.js import axios from axios import { Message, Loading } from element-ui import { saveAs } from file-saver // 创建axios实例 const request axios.create({// 这里可以放一…...

【大数据存储与处理】1. hadoop单机伪分布安装和集群安装

0. 写在前面 0.1 软件版本 hadoop2.10.2 ubuntu20.04 openjdk-8-jdk 0.2 hadoop介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个…...

linux通过time命令统计代码编译时间

首先编写一个编译脚本 build.sh 内容如下: 然后执行time sh build.sh 编译完成后输出三个时间 time sh xxx.sh # 会返回3个时间数据 (1) real:从进程 ls 开始执行到完成所耗费的 CPU 总时间。该时间包括 ls 进程执行时实际使用的 CPU 时间,…...

logback日志是怎么保证多线程输出日志线程安全的

logback中的单例模式 logback日志框架使用了单例设计模式来进行日志输出。在logback中,Logger类是一个关键的组件,它负责记录和输出日志消息。 Logger类使用了单例设计模式,确保在一个应用程序中只存在一个Logger实例。这样做的好处是可以确…...

2022年统计用区划代码表SQL 01

行政区划代码为国家公布的六位县级以上行政区划代码 行政区编码的用途: APP里做城市级联选择根据身份证前六位获取用户所在城市区县 370786 昌邑市 370800 济宁市 370811 任城区 370812 兖州区 百度高德等接口通常都会返回adcode字段 (行政区编码)根据 行政区编…...

EM@基本初等函数@幂和根式@指数函数

abstract 基本初等函数幂和根式指数函数 指数和幂 正整指数幂 a n a^{n} an a ⋯ a ⏟ n 个 \underbrace{a\cdots{a}}_{n个} n个 a⋯a​​, n ∈ N n\in\mathbb{N^{}} n∈N 其中 a n a^{n} an称为** a a a的 n n n次幂** a a a叫做幂的底数, n n n叫做幂的指数 正整指数…...

时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测

时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测 目录 时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测&#…...

求人不如求己!小初高电子教材全套自取,鸡娃路上不迷路!

家有神兽的家长们,是不是经常遇到这种情况:孩子把课本忘在学校,作业没法写;想提前预习下学期的内容,却不知道去哪里找教材;或者想给孩子找点课外拓展资料,又怕买错版本……别急!我花…...

GSTC甘特图组件:从零构建高效项目管理工具

1. 为什么你需要GSTC甘特图组件? 如果你正在开发一个项目管理工具,或者需要为现有系统添加任务排期功能,甘特图几乎是绕不开的核心组件。传统做法是自己从头开发,但光是处理时间轴渲染、任务拖拽、依赖关系这些基础功能就可能耗费…...

Qwen3-ForcedAligner-0.6B在语音克隆中的应用:精准音素对齐技术

Qwen3-ForcedAligner-0.6B在语音克隆中的应用:精准音素对齐技术 1. 引言 你有没有遇到过这样的情况:用语音克隆技术生成的声音,听起来总感觉哪里不对劲?可能是某个字的发音时长不对,或者是词语之间的停顿不自然。这些…...

告别“AI失忆“!掌握Harness Engineering,让AI秒变高效生产力工具

文章指出AI难以胜任长周期复杂任务并非因"不够聪明",而是缺乏工程化工作方式。核心解法是引入Harness运行框架,通过外部记忆替代上下文依赖、强制任务拆解、建立固定执行循环及测试优先机制,将AI从单打独斗的"代码生成器"…...

Zend Framework错误处理与日志记录终极指南:10个构建稳定生产环境的技巧

Zend Framework错误处理与日志记录终极指南:10个构建稳定生产环境的技巧 【免费下载链接】zendframework Official Zend Framework repository 项目地址: https://gitcode.com/gh_mirrors/ze/zendframework Zend Framework作为一款成熟的PHP开发框架&#xf…...

Vue3+Cesium实战:解决404报错与Webpack配置优化指南

1. 为什么你的Cesium地图总是加载失败? 第一次在Vue3项目里集成Cesium时,我也被那些莫名其妙的404报错搞得焦头烂额。明明按照文档配置了,地图就是不显示,控制台一片红。后来才发现,90%的问题都出在资源路径配置上。 C…...

用Python+Matplotlib动手验证:标准DH和改进DH建模同一机械臂,结果真的相同吗?

PythonMatplotlib实战:标准DH与改进DH建模机械臂的等价性验证 机械臂运动学建模是机器人学中的基础课题,而Denavit-Hartenberg(DH)参数法则是其中最经典的建模方法之一。标准DH(sDH)与改进DH(mD…...

银河麒麟V10下NFS服务端的高效配置与性能优化指南

1. 银河麒麟V10与NFS服务端基础认知 第一次在银河麒麟V10上折腾NFS服务端时,我踩了不少坑。这个国产操作系统虽然基于Linux,但在软件包管理和服务配置上还是有些特殊之处。NFS(Network File System)作为经典的网络共享协议&#x…...

ArcGIS中利用shp文件精准裁剪DEM的实用技巧

1. 为什么需要精准裁剪DEM数据 数字高程模型(DEM)是地理信息系统中最重要的基础数据之一,它用规则网格的形式记录了地表高程信息。在实际项目中,我们经常需要对大范围的DEM数据进行局部提取,这时候就需要用到裁剪操作。…...

eXoCAN:轻量级汽车电子CAN协议栈设计与实践

1. eXoCAN库概述:面向嵌入式汽车电子的轻量级CAN协议栈eXoCAN是一个专为资源受限嵌入式系统设计的轻量级、可移植CAN(Controller Area Network)驱动框架。其名称“eXoCAN”源自“eXtensible Open CAN”,强调其开放性、可扩展性与硬…...