On Mon, Apr 25, 2005 at 03:42:35PM -0400, [EMAIL PROTECTED] wrote: > The way the notify gets called is a bit convoluted. Our C program > performs an insert in table T. Some triggers run doing all sorts of > stuff in the background involving changes to other tables. Under some > circumstances, a row is inserted by the trigger into table W (a > trigger off of that is executed) and the parent trigger performs a > notify. This, while expensive, normally all works. However, at a > customer site we saw the postgres process hang out in async_notify and > refuse to allow more inserts.
What do you mean by "in the background"? Do you fork() the backend process? IIRC there have been bugs in listen/notify by which a backend could hang forever. Some were fixed, but others main remain. Can you post more details of the involved functions and triggers? -- Alvaro Herrera (<[EMAIL PROTECTED]>) One man's impedance mismatch is another man's layer of abstraction. (Lincoln Yeoh) ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend