| From: | Vivek Gadge <vvkgadge56(at)gmail(dot)com> |
|---|---|
| To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Guidance on Calculating max_locks_per_transaction for a Highly Partitioned Environment |
| Date: | 2026-06-29 12:41:17 |
| Message-ID: | CAK+uD7iPCapd-hh_ZZBGzUbYHLLeHjWSyX0-KBAfAUs2YNOJtg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello Team,
I am looking for guidance on determining an appropriate value for the
max_locks_per_transaction parameter in our PostgreSQL 17.6 production
environment.
Environment has the following characteristics:
PostgreSQL Version: 17.6
max_connections = 1500
Daily partitioning strategy
Large OLTP workload with transactions that may access multiple
partitions
Occasionally, we encounter the following error:
ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
We understand that the shared lock table is sized based on
max_locks_per_transaction, max_connections, and max_prepared_transactions.
However, we have not found any guidance on how to estimate an appropriate
value for environments with a large number of partitions and indexes.
We would appreciate guidance on the following:
Is there a recommended methodology or formula for estimating
max_locks_per_transaction.
Our objective is to determine an appropriate value based on workload
characteristics rather than increasing the parameter through trial and
error.
Thanks
Vivek Gadge.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Xuneng Zhou | 2026-06-29 12:52:51 | Re: [PATCH] Prevent repeated deadlock-check signals in standby buffer pin waits |
| Previous Message | Bill Kim | 2026-06-29 12:08:19 | Re: doc: fix two id/xreflabel inconsistencies in config.sgml |