我对 Postgresql 可重复读取隔离级别有问题。我确实做了一个关于可重复读隔离级别在幻读发生时的行为的实验。
Postgresql 的手册说“该表还显示 PostgreSQL 的可重复读实现不允许幻读。”
但是出现了幻读;
CREATE TABLE public.testmodel
(
id bigint NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
--第 1 节 --
BEGIN TRANSACTION ISOLATION LEVEL Repeatable Read;
INSERT INTO TestModel(ID)
VALUES (10);
Select sum(ID)
From TestModel
where ID between 1 and 100;
--COMMIT;
Run Code Online (Sandbox Code Playgroud)
--第二场--
BEGIN TRANSACTION ISOLATION LEVEL Repeatable Read;
INSERT INTO TestModel(ID)
VALUES (10);
Select sum(ID)
From TestModel
where ID between 1 and 100;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
我遵循的步骤;
令我惊讶的是,它们(会话 …
postgresql ×1