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