How to monitor locks (max_pred_locks_per_transaction)?

Поиск
Список
Период
Сортировка
От Andrey Lizenko
Тема How to monitor locks (max_pred_locks_per_transaction)?
Дата
Msg-id CADKuZZA7fmgs==ejwJrDvB2vZb5PUt2sWnOZKgiA0JMotqYSnw@mail.gmail.com
обсуждение исходный текст
Ответы Re: How to monitor locks (max_pred_locks_per_transaction)?  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-general
Hi, 
I've got

 2014-12-28 14:33:23 GMT 553582643 24969 SELECT 53200 63/8298433 54a00a84.6189 1 %ERROR:  out of shared memory
 2014-12-28 14:33:23 GMT 553582643 24969 SELECT 53200 63/8298433 54a00a84.6189 2 %HINT:  You might need to increase max_pred_locks_per_transaction.

Is there any way to predict such OOM situation (to adjust max_pred_locks_per_transaction before some transaction fails)? 
As far as we have a lot of transaction in SERIALIZABLE isolation level, should it be some counts of pg_locks with mode = AccessExclusiveLock or something like that?

Documentation says, that it is an average value, and every single transaction could lock more objects:

 objects (e.g., tables); hence, no more than this many distinct objects can be locked at any one time. This parameter controls the average number of object locks allocated for each transaction; individual transactions can lock more objects as long as the locks of all transactions fit in the lock table.
 
how can I get number of 'distinct objects' mentioned here?

WBR, Andrey Lizenko

В списке pgsql-general по дате отправления:

Предыдущее
От: Jeff Janes
Дата:
Сообщение: Re: Advice for using integer arrays?
Следующее
От: Tim Smith
Дата:
Сообщение: Re: Correct/optimal DML query for application session management ?