Re: Out of Shared Memory: max_locks_per_transaction

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Out of Shared Memory: max_locks_per_transaction
Дата
Msg-id CAHyXU0w2UifKu6aAfWrGnC7iqWwpwMC_frn12=sgo+Pz0hu-6A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Out of Shared Memory: max_locks_per_transaction  (Eliot Gable <egable+pgsql-general@gmail.com>)
Список pgsql-general
On Fri, Nov 9, 2012 at 2:50 PM, Eliot Gable
<egable+pgsql-general@gmail.com> wrote:
>>> one thing that can cause this unfortunately is advisory locks eating
>>> up exactly the amount of shared memory you have.  that's another thing
>>> to rule out.
>>
>> How would I rule this out?
>
> It really was filling the locks table.
>
> Using your suggestion, I managed to catch it in the process of the bad
> behavior, before it exhausted all lock entries. After some sleuthing through
> the resulting pg_locks output and my other code, I was able to isolate and
> resolve the issue. Basically, there was a call going on which tried to
> materialize a stats table based on thousands of records instead of 10 at a
> time. It was supposed to just be materializing the base rows in that table,
> all zeroed out, not based on any of the records. However, it does so using
> the same function which actually crunches numbers for the records, and it
> was coded to try all records from start of day until the function was run!

awesome...glad I could help.  in the case of advisory locks, to help
reduce the likelihood of things like this happening, it's always
better to use the recently added 'xact' flavor of the functions that
release the lock at 'end of transaction' when possible.

merlin


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

Предыдущее
От: "Albe Laurenz"
Дата:
Сообщение: Re: Understanding streaming replication
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Enabling Autovacuum Postgres 9.1 (was Unexpectedly high disk space usage)