Max locks

From: James Sewell <james(dot)sewell(at)jirotech(dot)com>
To: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Max locks
Date: 2019-12-19 09:33:43
Message-ID: CAANVwEvRv0ZKiZvVeFJu=_d2XzBwv+MhidzvUWF6L6+of_DBhw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello all,

I have a system which is giving me the log hint to increase
max_locks_per_transaction. This is somewhat expected due to the workload -
but what I can't understand is the numbers:

Based on the docs I calculate my theoretical max locks as:

max_locks_per_transaction * (max_connections + max_prepared_transactions)
256 * (600 + 0) = *153600*

However, looking at my Prometheus monitoring (polling every 15s) which does
a SELECT from pg_locks and groups by mode I can see there are over 500K
AccessShareLocks consistently (up to around 570K at peak).

How is this possible???

Cheers,

James Sewell,

--
The contents of this email are confidential and may be subject to legal or
professional privilege and copyright. No representation is made that this
email is free of viruses or other defects. If you have received this
communication in error, you may not copy or distribute any part of it or
otherwise disclose its contents to anyone. Please advise the sender of your
incorrect receipt of this correspondence.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Olivier Gautherot 2019-12-19 09:47:25 Re: READ UNCOMMITTED in postgres
Previous Message Simon Riggs 2019-12-19 08:19:46 Re: READ UNCOMMITTED in postgres