Di Postgres 11 atau lebih baru, pertimbangkan PROCEDURE
yang memungkinkan kontrol transaksi. Lihat:
Dengan fungsi , tidak ada tidak mungkin . Fungsi di Postgres bersifat atomik (selalu di dalam transaksi) dan kunci dilepaskan di akhir transaksi.
Anda mungkin dapat mengatasi ini dengan saran kunci . Tapi itu bukan hal yang sama. Semua transaksi yang bersaing harus dimainkan bersama. Akses bersamaan yang tidak mengetahui kunci penasehat akan merusak pesta.
Contoh kode di dba.SE:
Atau Anda mungkin mendapatkan suatu tempat dengan "kecurangan" transaksi otonom dengan dblink:
- Bagaimana cara melakukan pembaruan besar tanpa pemblokiran di PostgreSQL?
- Apakah Postgres mendukung transaksi bersarang atau otonom?
Atau Anda menilai kembali masalah Anda dan membaginya menjadi beberapa transaksi terpisah.