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)?
            		
            		 | 
		
| Список | 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?
В списке pgsql-general по дате отправления: