From: | Bill Moran <wmoran(at)potentialtech(dot)com> |
---|---|
To: | jacques klein <jacques(dot)klei(at)googlemail(dot)com> |
Cc: | David Fetter <david(at)fetter(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: how to write/setup a C trigger function in a background worker |
Date: | 2015-08-19 20:54:22 |
Message-ID: | 20150819165422.459fc78ebcd86046242b9d3b@potentialtech.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 19 Aug 2015 19:45:47 +0200
jacques klein <jacques(dot)klei(at)googlemail(dot)com> wrote:
> Well, sorry David, I don't understand what you mean,
>
> let me explain what I want to do: in short, IPC between "background
> workers".
>
> I am trying to transform my app. from a multi-threaded C SQL-client into
> some "background workers", execution speed beeing the goal (avoid
> network io).
> Worker start/stopping is nicely solved by server start/stop, but I have
> also to do some messaging/notifying between my worker processes, and
> would like to use a Postgres based solution instead of the usual unix or
> network ipc, or course by avoiding polling (tables acting as message
> queues).
I think what David is saying, and what I would suggest, is the
following:
* It's not possible to have a trigger execute in the background
* Create a background job that runs perpetually and listens for
notification that it has work to do (i.e. it sleeps until notified)
* Notify the job from the trigger
> On Wed, 2015-08-19 at 10:01 -0700, David Fetter wrote:
> > On Wed, Aug 19, 2015 at 05:37:31PM +0200, jacques klein wrote:
> > > I would like to execute a trigger function (written in C) in one of my
> > > background workers.
> > >
> > > Didn't figure out how to do that not even if it's possible.
> >
> > You can write your trigger function in such a way as not to do the
> > usual check for trigger context, but it might be better to write two
> > functions, one with the trigger stuff in it, the other, which it
> > calls, for whatever action you actually want to trigger, and call that
> > second in your background worker.
> >
> > Cheers,
> > David.
>
>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
--
Bill Moran <wmoran(at)potentialtech(dot)com>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2015-08-19 21:17:55 | Re: how to write/setup a C trigger function in a background worker |
Previous Message | Tom Lane | 2015-08-19 20:32:37 | Re: Our trial to TPC-DS but optimizer made unreasonable plan |