PostgreSQL在REPEATABLE READ或SERIALIZABLE隔离级别下,事务更新或锁定另一事务已提交修改的行会报40001错误,需回滚并重试整个事务。快照始于首个查询而非BEGIN;SKIP LOCKED无法避免该错误,因为行已被修改而非仅被锁定。实测重试可挽回全部丢失更新,但需限制重试次数。READ COMMITTED无此错误,但可能覆盖他人修改。
完成下面两步后,将自动完成登录并继续当前操作。