后Ql-交易隔离

发布于 2025-01-21 18:00:07 字数 583 浏览 0 评论 0原文

嗨,我是PostgreSQL交易隔离级别的新手,我想了解更多有关PostgreSQL中不同隔离级别的信息。我在这里有2个窗口。每个运行的PSQL Shell,以模拟2个客户端,以在我的本地计算机中的PostgreSQL Server上。

我试图在测试表中使用一个客户端中的非交易查询插入表中,并在其他客户端设置了基于读取的隔离交易。

我觉得很奇怪,读取订单隔离级别请参阅另一个客户端进行的更改。不是为了在开始交易状态的开头中看到更改的快照。

在左边,

选择在交易内运行的语句。

在右边

在非交易环境中插入语句

您可以向我解释这是如何发生的吗?

Hi I am new to PostgreSQL transaction isolation level, I wanted to learn more on different isolation level in PostgreSQL. I have 2 windows here. Each running PSQL shell, to emulate 2 clients, to my PostgreSQL server in my local machine.

I tried to insert into the table with non transaction query in test table with one client and set up a read committed isolation based transaction in other client.

I find it weird how can read committed isolation level see changes made from the other client. Isn't the read committed meant to see a snapshot of the changes in the beginning of begin transaction state.

Pictorial Explanation of the problem

In the left,

SELECT statement being run inside of a transaction.

In the right,

INSERT statement being run in non transaction environment

Can you explain me on how is this meant to happen ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文