Thread: Re: [GENERAL] ERROR: out of shared memory

Re: [GENERAL] ERROR: out of shared memory

From
Tom Lane
Date:
"Sorin N. Ciolofan" <ciolofan@ics.forth.gr> writes:
>    I have to manage an application written in java which call another module
> written in java which uses Postgre DBMS in a Linux environment. I'm new to
> Postgres. The problem is that for large amounts of data the application
> throws an:
>  org.postgresql.util.PSQLException: ERROR: out of shared memory

AFAIK the only very likely way to cause that is to touch enough
different tables in one transaction that you run out of lock entries.
While you could postpone the problem by increasing the
max_locks_per_transaction setting, I suspect there may be some basic
application misdesign involved here.  How many tables have you got?

            regards, tom lane

Re: [GENERAL] ERROR: out of shared memory

From
"Merlin Moncure"
Date:
On 3/26/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Sorin N. Ciolofan" <ciolofan@ics.forth.gr> writes:
> >    I have to manage an application written in java which call another module
> > written in java which uses Postgre DBMS in a Linux environment. I'm new to
> > Postgres. The problem is that for large amounts of data the application
> > throws an:
> >  org.postgresql.util.PSQLException: ERROR: out of shared memory
>
> AFAIK the only very likely way to cause that is to touch enough
> different tables in one transaction that you run out of lock entries.
> While you could postpone the problem by increasing the
> max_locks_per_transaction setting, I suspect there may be some basic
> application misdesign involved here.  How many tables have you got?

or advisory locks...these are easy to spot.  query pg_locks and look
for entries of locktype 'advisory'.  I've already seen some apps in
the wild that use them, openads is one.

merlin