Trong Postgres 11 trở lên, hãy xem xét một PROCEDURE
cho phép kiểm soát giao dịch. Xem:
Với chức năng , không có cách nào . Các chức năng trong Postgres là nguyên tử (luôn bên trong giao dịch) và khóa được phát hành khi kết thúc giao dịch.
Bạn có thể giải quyết vấn đề này với tư vấn ổ khóa . Nhưng những điều đó không giống nhau. Tất cả các giao dịch cạnh tranh phải chơi cùng. Quyền truy cập đồng thời mà không biết về các khóa tư vấn sẽ làm hỏng nhóm.
Ví dụ về mã trên dba.SE:
Hoặc bạn có thể đến đâu đó với các giao dịch tự trị "gian lận" với dblink:
- Làm cách nào để thực hiện cập nhật không chặn lớn trong PostgreSQL?
- Postgres có hỗ trợ các giao dịch lồng ghép hay tự trị không?
Hoặc bạn đánh giá lại vấn đề của mình và chia nó thành một vài giao dịch riêng biệt.