On 07/19/2011 01:35 AM, Jon Smark wrote:
>> I don't think this is really possible with postgres PLs generally.
>> Typically what you have to do is have a function that is called on an
>> interval that checks for alarms and runs them.
> Thanks for the prompt reply. Just to clarify: you are saying that the
> function that is called with a given periodicity must be so from *outside*
> PG, ie, from the client application, right? I mean, there is no way
> strictly internal to PG to have a function be called every given number
> of seconds?
The generally accepted way of doing this is to have a cron job (outside
of the database) calling a function which checks a polling table for
things it should process. What you would do is put the time you want a
row processed at and then your cron job will call a function that
processes all rows that are overdue.
Pg Agent will do that same thing as a cron job, as Craig mentioned.