我目前正在尝试用 Java 编写一个调度程序,它将批量读取 AWS Postgres 只读副本并进行一些处理。此调度程序将在 Java 实例集群上运行。我目前遇到的问题是我无法判断一行是否已被处理。
我正在考虑使用“SELECT * from table Limit 1 FOR UPDATE SKIP LOCKED”,但我想知道是否:
- 是否可以在只读副本上 SELECT FOR UPDATE
- 我将如何释放这个锁?
- 如果我不能使用它,有没有其他方法可以协调具有多个 Java 实例的只读副本上的批处理。(即春季批次能做到这一点吗?)