gpt4 book ai didi

单元测试 PostgreSQL 行级锁

转载 作者:行者123 更新时间:2023-11-29 12:22:34 26 4
gpt4 key购买 nike

我目前正在使用 pgTap 向大量 PostgreSQL 存储过程添加单元测试。

一些过程执行显式锁定行的操作。这些锁对应用程序至关重要。

我如何编写测试来检查是否已锁定需要锁定的行,以及是否未锁定不应该锁定的行?

目前我唯一的“线索”是 pgrowlocks 扩展,它允许一个事务检查被另一个事务锁定的行。然而,当前事务似乎没有看到它自己的锁,所以我不得不使用一些东西来同步两个事务,除非我完全弄错了,否则没有办法使用 pgTap 来做到这一点。

(注意:使用 PostgreSQL 9.1)

最佳答案

如果您可以识别有问题的行的 ctid,并且知道哪个事务应该锁定这些行,也许您可​​以使用 pageinspect 扩展并查看元组信息标志和 xmax?信息标志应指示该行已锁定,并且 xmax 应设置为持有它的事务 ID。

关于单元测试 PostgreSQL 行级锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com