Merlin Moncure <mmoncure@gmail.com> writes:
> On Mon, May 12, 2014 at 7:57 AM, Souquieres Adam
> <adam.souquieres@axege.com> wrote:
>> when we play : ANALYSE VERBOSE; ( stat on all databases, with 500 tables and
>> 1to DATA in all tables)
>> we now have this message :
>> org.postgresql.util.PSQLException: ERROR: out of shared memory Indice : You
>> might need to increase max_locks_per_transaction.
>> max_connections = 150
>> max_locks_per_transaction = 128 # was at default val ( 64?), we already try
>> to increase it without sucess
> How high did you increase it? It's not uncommon to have to raise that
> parameter significantly if you have a lot of tables. Try 2048.
It's unsurprising for analyze across 500 tables to require 500 locks.
However, with those settings you should already have 150*128 = 19200
slots in the shared lock table, so there's no way that the analyze
is eating them all. What else is going on in the system? How many
entries do you see in pg_locks while this is happening?
regards, tom lane