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