Re: Is there anyway to...
От | AgentM |
---|---|
Тема | Re: Is there anyway to... |
Дата | |
Msg-id | 8ABD7C06-79D9-44F6-B21B-7C4F8E0FCB3B@themactionfaction.com обсуждение исходный текст |
Ответ на | Re: Is there anyway to... (Richard Troy <rtroy@ScienceTools.com>) |
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: