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