On Nov 2, 2006, at 14:02 , Glen Parker wrote:
louis gonzales wrote:
Hey Brian,
Yeah I had considered this, using cron, I just feel like that is
too dirty.
Actually I didn't see Andreas' post, can someone forward that?
I'm running this application on Solaris 9. Ultimately what I want
to know is, is there something that is internal to postgresql that
can be used that doesn't need external action, to make it do some
task?
Some built in function that can be set to do some simple task on a
daily - or other time - interval, where all of the defined users
may not have any activity with the database for day's or week's at
a time, but this builtin function still operates?
Am I making any sense with how I'm asking this? I could of course
have cron do a scheduled task of checking/incrementing/
decrementing and define triggers to occur when one of the cron
delivered actions sets the appropriate trigger off, but are there
other methods that are standard in the industry or are we stuck
with this type of external influence?
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