Configuration parameter

max_pred_locks_per_transaction — PostgreSQL Configuration Parameter

Category Locks Default 64 Unit boolean / enum / numeric Change scope Restart required

Predicate-lock table sizing for SERIALIZABLE.

At a glance

Property Value
Parameter max_pred_locks_per_transaction
Category Locks
Default 64
Value type boolean / enum / numeric
Change scope Restart required

What it does

Sizes the predicate-lock table used by serializable isolation (SSI).

How to apply a change

Requires a full server restart (postmaster context). Set it in postgresql.conf and restart PostgreSQL.

Inspect the current value and source with SHOW max_pred_locks_per_transaction; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'max_pred_locks_per_transaction';.

Tuning guidance

Raise for heavy SERIALIZABLE workloads that touch many pages/tuples, to avoid predicate-lock escalation that increases false-positive serialization failures.

Reference

PostgreSQL documentation — Locks configuration.

Was this helpful?

← All configuration parameters