Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?

From: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Philip Warner <pjw(at)rhyme(dot)com(dot)au>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?
Date: 2004-05-03 14:30:57
Message-ID: Pine.LNX.4.58.0405040028001.8810@linuxworld.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2004-05-03 14:31:57 Re: Fixed directory locations in installs
Previous Message Magnus Hagander 2004-05-03 14:29:43 Re: ANALYZE locks pg_listener in EXCLUSIVE for long time?