Re: running maintenance tasks on DB - Mailing list pgsql-general

From Louis-David Mitterrand
Subject Re: running maintenance tasks on DB
Date
Msg-id 20000923193431.B10680@styx
Whole thread Raw
In response to Re: running maintenance tasks on DB  (Neil Conway <nconway@klamath.dyndns.org>)
Responses Re: running maintenance tasks on DB  (Neil Conway <nconway@klamath.dyndns.org>)
List pgsql-general
On Sat, Sep 23, 2000 at 12:45:02PM -0400, Neil Conway wrote:
> On Sat, Sep 23, 2000 at 05:26:47PM +0200, Louis-David Mitterrand wrote:
> > Approaching completion of an online auction system based on Postgres and
> > mod_perl/Apache I yet have to devise a good way of running certain
> > maintenance tasks on the DB like closing auctions, notifying winners,
> > transferring old records to archive tables, etc.
> >
> > What is the usual way of programming such tasks? Write a backend
> > function (in pl/sql or C) and call it from a cron job? From a mod_perl
> > handler?
>
> I don't know if this is the best way, but I usually just write a Perl
> script and run it through cron. You just have to make sure that you
> maintain data integrity while doing maintainence - i.e. there is no
> point where the data is invalid. This usually means putting stuff
> into transactions, but that's no big deal.
>
> I don't believe you can get backend functions to run at certain
> times, without using a mechanism like cron to connect to the DB and
> run them.

It would be really great to have that functionality in the backend,

> A mod_perl handler is a totally different matter. That's for doing
> stuff with HTTP requests - isn't this unrelated?

Indeed I wasn't making much sense talking of mod_perl handlers to
perform DB maintenance :) The reason I came to thinking about them is
because cron jobs appear as less elegant and integrated with the whole
application, they appear as external crutch filling a missing DB
functionality (running scheduled tasks).

Ideally I'd like the auction application to only rely on its two main
components: Postgres and mod_perl/Apache. The mod_perl idea was to
install the maintenance script as a ChildInitHandler which is not
directly related to content generation. Is that totally harebrained?

> I would think that you'd have mod_perl handlers displaying your
> content and manipulating the DB, and have some scripts set to run
> every X minutes/hours which do maintainence.
>
> I use Perl, but you can obviously use any language you like, provided
> it has a Postgres interface.

Thanks for sharing your experience, cheers,

--
Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.org

        "You're cute when you're stupid"

pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: About OID and the commands/operators STRING( ... ) ..AS and +
Next
From: Neil Conway
Date:
Subject: Re: running maintenance tasks on DB