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