JDBI和postgres中的数据库行级别锁定

问题描述

我在postgres中使用jdbi。而且由于我在多个实例中运行应用程序,因此在应用程序代码级别上锁定不是一个选择。所以我在数据库上使用行级锁定。所以我正在使用select进行更新。但是理想情况下,我不需要对该行进行任何更新,但是由于要进行更新,所以我要走了。因此,每次释放锁时,我都会触发更新查询以更新上次更新的时间字段, 我可以锁定它,一旦交易完成就释放该锁定,而无需进行任何更新。我们有这样的选择吗?

解决方法

在提交或回滚事务时,无论您是否实际更新了行,该锁都会自动释放。

为了释放锁,绝对不需要更新该行。