Re: Is there anyway to...

From: AgentM <agentm(at)themactionfaction(dot)com>
To: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Is there anyway to...
Date: 2006-11-02 19:55:50
Message-ID: 8ABD7C06-79D9-44F6-B21B-7C4F8E0FCB3B@themactionfaction.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-general pgsql-sql


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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Richard Troy 2006-11-02 20:00:48 Re: Is there anyway to...
Previous Message Dave Page 2006-11-02 19:51:46 Re: [SQL] Is there anyway to...

Browse pgsql-general by date

  From Date Subject
Next Message Richard Troy 2006-11-02 20:00:48 Re: Is there anyway to...
Previous Message Reece Hart 2006-11-02 19:52:46 Re: DELETE performance issues

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Troy 2006-11-02 20:00:48 Re: Is there anyway to...
Previous Message Dave Page 2006-11-02 19:51:46 Re: [SQL] Is there anyway to...