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 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend