V Postgres 11 nebo později zvažte PROCEDURE
který umožňuje kontrolu transakcí. Viz:
S funkcemi , žádný způsob neexistuje . Funkce v Postgresu jsou atomické (vždy uvnitř transakce) a zámky se uvolní na konci transakce.
Možná byste to mohli vyřešit pomocí rady zámky . Ale to není totéž. Všechny konkurenční transakce musí hrát spolu. Současný přístup, který nezná poradní zámky, zkazí párty.
Příklad kódu na dba.SE:
Nebo se můžete dostat někam s „podváděním“ autonomních transakcí s dblink:
- Jak provedu velké neblokující aktualizace v PostgreSQL?
- Podporuje Postgres vnořené nebo autonomní transakce?
Nebo znovu posoudíte svůj problém a rozdělíte jej do několika samostatných transakcí.