Đúng là INSERT , UPDATE hoặc DELETE phải có được ROW EXCLUSIVE khóa trên bàn để được cập nhật.
Tuy nhiên, khóa này không ngăn SELECT từ hoạt động bình thường. SELECT chỉ yêu cầu ACCESS SHARE Khóa. Khóa này tương thích với ROW EXCLUSIVE - nói cách khác, bạn có thể thực thi SELECT một cách hoàn hảo trong khi dữ liệu khác được cập nhật bởi INSERT , UPDATE hoặc DELETE , miễn là bạn không có được bất kỳ khóa rõ ràng nào.
Nói cách khác, bạn sẽ không bao giờ thấy bất kỳ bế tắc nào khi sử dụng cách tiếp cận thứ hai (chỉ cần không sử dụng SELECT FOR UPDATE và bạn sẽ ổn).
Đọc thêm trong tài liệu PostgreSQL .