louis gonzales wrote:
Hello all,
Is there an existing mechanism is postgresql that can automatically
increment/decrement on a daily basis w/out user interaction? The use
case I'm considering is where a student is in some type of contract with
an instructor of some sort, and that contract puts a time limit on the
student requiring her to pay a fee by a certain day. IF that day comes
to pass - or a certain number of days elapse - and that payment
requirement hasn't been met, I want to trigger a function.
The one requirement I want to impose is, that no end user of the DB
application, needs to do anything to set the trigger, other than the
initialization of making the student of this type.
An example would be:
Day1 - Application user(typically the instructor) creates a profile for
a new student - John Doe, which sets a 30 day time limit for John Doe to
pay $100.00
Day2 -> Day31 - John Doe didn't make the payment
Day 31 - Trigger of event occurs when the instructor logs in.
Basically on Day 1 when John Doe's profile was created, I want a
decrement counter to occur daily on his profile(some attribute/timer)
and nothing should happen until day 31 when he doesn't pay.
Further to Andreas' suggestion to use CRON, you don't require a
decrement of anything. When the profile is created, your date_created
(or whatever) column will be set. Then your script (called by CRON) only
needs to test for rows that a) have not paid, and b) are outside the
bounds set in the script (eg. MAX_GRACE_PERIOD = 30).
brian