首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义Postgres9.0的锁等待时间?

如何定义Postgres9.0的锁等待时间?
EN

Stack Overflow用户
提问于 2014-10-10 16:21:18
回答 1查看 487关注 0票数 0

我正在执行一些测试来评估DAO层的框架。其中一个测试用例是复制一个表锁,并检查框架在这种情况下的行为。这个测试是使用Java完成的,主要是JPA,使用Hibernate和EclipseLink作为JPA供应商,我们单独使用Hibernate,我们有一组接口充当框架的桥梁,以简化我们针对任何其他ORM框架的测试。

我已经成功地针对我们的MySQL 5.5.11数据库生成了一个表锁测试用例,这是因为运行测试用例的应用程序刚刚冻结了50秒(MySQL中锁等待时间的默认值),然后日志中出现了一个与表锁等待超时异常相关的SQLException。然后我将测试的配置切换到Postgres9.0并重新执行测试,我可以复制表锁,但是现在应用程序被冻结了10分钟,没有异常抛出,所以我必须停止测试执行。

我正在研究如何更改Postgres9.0,并在这里得到了Postgres9.3的结果:客户端连接默认值 I lock_timeout。然后我检查了9.0的文档,这样的参数是不可用的。您知道如何在postgres配置中或在我的Java客户端应用程序(可能是JPA、Hibernate或EclipseLink特定的配置)中更改此配置以检查数据库中的表锁异常吗?最糟糕的情况是,生产环境中会出现表锁,除非停止应用程序(这是我们与框架一起测试的内容),否则我们无法从中恢复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 17:25:01

试试超时,它已经存在很久了。

代码语言:javascript
复制
SET statement_timeout=1000;
-- try to take lock, and get an exception 1000ms later
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26303827

复制
相关文章

相似问题

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