Các hàng được khóa theo thứ tự của ORDER BY
mệnh đề như khi bảng được quét .
Truy vấn được thực thi và các hàng được sắp xếp theo thứ tự, sau đó PostgreSQL sẽ khóa các hàng theo thứ tự. Về cơ bản, ORDER BY
xảy ra trước FOR UPDATE
.
Bây giờ có thể xảy ra việc khóa khối hàng vì các khóa được giữ bởi các giao dịch đồng thời. Nếu điều đó xảy ra, và chúng tôi đang ở READ COMMITTED
mức cô lập, PostgreSQL chờ cho đến khi nó có thể nhận được khóa và sau đó tìm nạp phiên bản hiện tại của hàng mà nó khóa.
Nếu giao dịch đồng thời sửa đổi các cột xác định thứ tự, kết quả cuối cùng sẽ không theo thứ tự được xác định bởi ORDER BY
.