Re: ANALYZE locks pg_listener in EXCLUSIVE for long time? - Mailing list pgsql-hackers

From Gavin Sherry
Subject Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?
Date
Msg-id Pine.LNX.4.58.0405040028001.8810@linuxworld.com.au
Whole thread Raw
In response to Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-hackers
On Mon, 3 May 2004, Alvaro Herrera wrote:

> On Mon, May 03, 2004 at 02:14:18PM +1000, Gavin Sherry wrote:
>
> > It is implemented using shared memory. I got stuck when I considered the
> > situation where we rung out of shared memory. Some emails in the archive
> > suggested we just fire all listeners but I didn't like that.
>
> Can this be kept in backend local memory and then sent to the other
> backends at transaction commit?  If you run out of local memory you can
> just spill to disk.  (With shared memory this seems pretty hard to do.)
>
> I'm not sure how would one "send to the other backends."  Maybe write
> another file on disk, one for each remote backend?  Surely this can be
> done somehow.  I've heard that on linux-2.6 they are implementing "POSIX
> message queues" (not sure what those are anyway); maybe we can do that
> on platforms that support it, for performance.

What happens in the (unlikely) event that we never find space in shared
memory? That's the problem that I am currently trying to solve.

We currently just fire all the triggers but is that a great idea?
Particularly if we support the passing of a message with a notify.

Gavin


pgsql-hackers by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?
Next
From: Bruce Momjian
Date:
Subject: Re: Fixed directory locations in installs