W Postgresie 11 lub później, rozważ PROCEDURE
co umożliwia kontrolę transakcji. Zobacz:
Z funkcjami , nie ma nie ma mowy . Funkcje w Postgresie są atomowe (zawsze wewnątrz transakcji), a blokady są zwalniane na koniec transakcji.
Możesz obejść ten problem za pomocą doradztwa zamki . Ale to nie to samo. Wszystkie konkurujące transakcje muszą grać razem. Jednoczesny dostęp, który nie jest świadomy blokad doradczych, zepsuje imprezę.
Przykład kodu na dba.SE:
Lub możesz dostać się gdzieś z "oszukującym" autonomicznymi transakcjami za pomocą dblink:
- Jak wykonać duże, nieblokujące aktualizacje w PostgreSQL?
- Czy Postgres obsługuje transakcje zagnieżdżone lub autonomiczne?
Lub ponownie oceniasz swój problem i dzielisz go na kilka oddzielnych transakcji.