- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想尝试使用带有 pgadmin 的 PostgreSQL 进行事务隔离。首先,我在 BEGIN 中插入了一条新记录,但没有提交。
BEGIN;
INSERT INTO my_table(id,value) VALUES (1,'something');
//UNCOMMITTED
然后,我尝试读取未提交的数据
BEGIN TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM my_table
COMMIT;
但是我找不到新的记录。怎么了?
最佳答案
PostgreSQL 不支持脏读(READ UNCOMMITTED
)。正如@a_horse_with_no_name 指出的那样,the manual说:
The SQL standard defines one additional level,
READ UNCOMMITTED
. In PostgreSQLREAD UNCOMMITTED
is treated asREAD COMMITTED
.
这符合标准中的规则,即数据库必须将不受支持的隔离级别视为最强的受支持级别。
在 PostgreSQL 中,不支持从正在进行的事务中读取未提交的元组的方法。如果有,您将能够获得诸如主键的重复值和一般困惑之类的东西,所以无论如何它都不会很有用。
有几种正在进行的事务可以相互通信和影响的方式:
SEQUENCE
(和 SERIAL
)更新立即发生,而不是在提交时READ COMMITTED
可见性规则范围内UNIQUE
和 EXCLUSION
约束可以使用仅限 super 用户的调试工具(如 pageinspect)查看未提交的元组数据。 ,但前提是您真正了解数据存储的内部结构。它仅适用于数据恢复和调试。您会在一堵十六进制输出墙中看到多个版本的数据。
关于PostgreSQL 事务隔离 READ UNCOMMITTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33646012/
我将 Npsql 与 PostgreSQL 一起使用。我想在另一个事务中查看一个事务的未提交更改。 这就是我创建连接和交易的方式: // create connection m_Connection
我想尝试使用带有 pgadmin 的 PostgreSQL 进行事务隔离。首先,我在 BEGIN 中插入了一条新记录,但没有提交。 BEGIN; INSERT INTO my_table(id,val
我仅在设备上收到以下警告: CoreAnimation: warning, deleted thread with uncommitted CATransaction; created by: 0
升级到 mariadb 10.5.11 后,我遇到了一个奇怪的索引问题。 具有两个列的简单表 Type(varchar) 和 Point(point) 类型的索引(Tindex)和点的空间索引(Pin
我在 SSMS 中打开一个新窗口并运行以下命令: SET ANSI_DEFAULTS ON GO CREATE PROCEDURE [dbo].[zzz_test2] ( @a int
我使用 SQL Server 2012。 我编写了两个查询,但是 NOLOCK 和 UnCommited 之间有什么不同? SELECT lastname, firstname FROM HR.Emp
我在 SQL 中有一个工作队列,由一些服务管理,这些服务读出要处理的条目 READPAST查询。 我最近添加了一个 UI 来检查使用 READ UNCOMMITTED 的队列状态C# 中的 NHibe
我正在使用 hibernate 进行数据库连接。现在我需要读取未提交的事务隔离,但它对我不起作用。请任何人帮助我是什么原因,我已经使用了这段代码: @org.springframework.trans
如何读取同一事务中未提交的数据。我正在使用 spring jdbc。 示例代码: @Transactional public Resource update(){ dao.updat
我在主机 1 上有一个主存储库,并对主机 2 上的存储库进行了更新。我使用 hg Push 将更改从 host2 更改为 host1 [mpenning@host2 login]$ hg push
用通俗的话说,使用的缺点和优点是什么 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 查询 .NET 应用程序和报告服务应用程序? 最佳答案 此隔离级
我有一个文件,version.txt 和其他文件。我更改了其他文件,但没有触及 version.txt。 因此,我尝试推送提交,但看到了 Remote heads 错误。 (有一个修改 version
我们有 2 个脚本/mysql 连接从表中获取行。一旦一个脚本获取了一些行,另一个脚本就不能访问这些行。 到目前为止,我所得到的似乎有效的是: SET SESSION TRANSACTION ISOL
我有一个正在开发的存储过程,有多个 UNION ALL声明。这是历史数据,我被指示使用 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED .搁置关于这是
集市有精彩uncommit命令,它只是撤消最后一次提交。 Mercurial 中是否有任何等价物? 编辑 : Bazaar 的 uncommit 命令不会修改文件 – 它会删除最后一次提交和相关数据(
我知道快照隔离可以解决这个问题,但我想知道 NOLOCK 在这种特定情况下是否安全,这样我就可以避免开销。 我有一个看起来像这样的表: drop table Data create table Dat
场景:本地仓库,在我离开办公室之前 $ hg status M important/update1 M another/important/update2 M work/in/progress 我想提
我有两种 JPA 存储库方法,一种方法更新记录并进行 I/O 操作。另一种方法是从Postgres数据库中读取一条记录,但这里我想允许脏读。 下面的代码是实验性的,不是生产级的。 触发 JPA 存储库
我有两个分支机构。 默认和dev。 default 是主分支,dev 是开发分支。现在我在开发中做了一些事情,并 promise 并插入与 tortoisehg 的开发。 现在我想将 dev merg
我正在使用以下查询: SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; SELECT * FROM TABLE_NAME ; SET
我是一名优秀的程序员,十分优秀!