首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL Serializable能否安全地与较低的隔离级别混合?

PostgreSQL Serializable能否安全地与较低的隔离级别混合?
EN

Stack Overflow用户
提问于 2018-07-24 03:44:44
回答 1查看 96关注 0票数 2

我正在试图弄清楚当混合可序列化和较低级别的隔离时的行为是什么,但没有太多的运气。具体地说,我们有一个reorder-queue-item事务,它当前正在接受表锁,以确保在此期间不会向其中添加新的项。使其序列化并读取队列头(以确保对结果的依赖)是否会提供相同级别的保证,即使其他事务在可重复读取时操作?

使用PostgreSQL 9.5。

PS。我知道有another question with a similar title,但它已经有4年多的历史了,它的问题没有那么具体,而且唯一的答案基本上是没有来源的,因为引用的材料,并且没有真正回答这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 14:18:44

为了保证可序列化,所有参与的事务都应该使用SERIALIZABLE隔离级别。

但我不确定可序列化隔离是您的问题的解决方案。它不会阻止任何人从队列读取或向队列写入,它会使一些事务失败,失败的事务很可能是试图重新排序队列的事务。

我认为在这种情况下锁是最好的选择。使用可序列化事务将对性能产生同样糟糕的影响,不同之处在于,您必须不断重试事务,直到重新排序成功。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51486214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档