On Nov 2, 2006, at 15:00 , Richard Troy wrote:



On Thu, 2 Nov 2006, AgentM wrote:

Just some commentary...  This is exactly the sort of thing cron is
for.  Duplicating that functionality in the RDBMS would be silly
IMO.  I don't see why you could consider cron to be "dirty" for
this application...

I actually tried to come up with something for this. There are plenty
of good reasons to have some timer functionality in the database:

1) it makes regular database-oriented tasks OS portable
2) your cron user needs specific permissions + authorization to
access the database whereas postgres could handle "sudo"-like
behavior transparently
3) there are triggers other than time that could be handy- on vacuum,
on db start, on db quit, on NOTIFY

Unfortunately, the limitation I came across was for 2). There is no
way to use "set session authorization" or "set role" safely because
the wrapped code could always exit from the sandbox. So my timer only
works for db superusers.

-M

...This type of need is exactly what custom written daemons are for.
They're surely database and OS portable (or can be, at least), there's no need for any super-user capability of any kind, you can use any kind of trigger you like, and there's no permission leakage problem, either... I guess all you need is functioning nohup capability (which Windows systems
may have trouble with, I don't know).

Sure- I wrote a custom daemon. But it has general usefulness. Instead of ten clients listening on ten notifications (and holding open connections for little reason), I would like to have one connection handle all the notification events- based on which notification or timer event, it could call a different stored procedure with different roles. That way, I wouldn't need one connection open for ever user that needs to listen and react. That simply doesn't scale.

Cheers,
M

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to