Các giao dịch không bị chặn ở tất cả. Cơ sở dữ liệu đang đợi ứng dụng gửi câu lệnh tiếp theo.
Khóa trên ID giao dịch chỉ là một kỹ thuật để các giao dịch chặn lẫn nhau, ngay cả khi chúng không cạnh tranh để khóa bảng (ví dụ:nếu chúng đang chờ khóa hàng):mỗi giao dịch giữ một khóa riêng. ID giao dịch và nếu phải đợi một giao dịch đồng thời hoàn tất, nó có thể yêu cầu khóa ID của giao dịch đó (và bị chặn).
Nếu tất cả các giao dịch trông như thế này, thì khóa phải ở đâu đó trong ứng dụng của bạn; cơ sở dữ liệu không liên quan.
Khi tìm kiếm các quy trình bị chặn trong cơ sở dữ liệu, hãy tìm các hàng trong pg_locks
nơi granted
là sai.