Skip to main content


Short Description

Waiting to add or examine predicate lock information.

Additional Information​

The Predicate Lock Manager is waiting to access lock information used by serializable transactions. Predicate locks are used to monitor dependencies between transactions when the Serializable Isolation level is selected and are generally higher level than just a row lock.

How to reduce this wait​

Use Serializable Isolation level where appropriate and β€˜catch’ the SQLSTATE of β€˜40001’ to ensure that transaction failures can be rerun.

PostgreSQL documentation - pg_locks

PostgresPro blog - Relation-level locks

Search online​

If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.