Обсуждение: waiting for notfications on the server

Поиск
Список
Период
Сортировка

waiting for notfications on the server

От
Marc Munro
Дата:
I'd like to be able to wait for notify events using a user-defined C
function.  All of the examples and code I can find use libpq.

Is there some way I can synchronously wait for notify events using SPI?

Is there some reason this is a dumb idea?  I wondered about the risk of
deadlocking a backend but can't see why using libpq would eliminate this
risk.

Anyone care to enlighten me?

Thanks.

__
Marc


Re: waiting for notfications on the server

От
Merlin Moncure
Дата:
On Fri, Jun 10, 2011 at 2:10 PM, Marc Munro <marc@bloodnok.com> wrote:
> I'd like to be able to wait for notify events using a user-defined C
> function.  All of the examples and code I can find use libpq.
>
> Is there some way I can synchronously wait for notify events using SPI?
>
> Is there some reason this is a dumb idea?  I wondered about the risk of
> deadlocking a backend but can't see why using libpq would eliminate this
> risk.

Unfortunately, this is not a good idea.

The problem is that SPI functions are in a single transaction for the
duration of their lifetime.  You have to do it in the client -- a
hypothetical future 'stored procedure' implementation may be able to
do this -- see extensive, albeit inconclusive, fairly recent
discussion on -hackers.

merlin