Re: running maintenance tasks on DB

From: Louis-David Mitterrand <cunctator(at)apartia(dot)ch>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: running maintenance tasks on DB
Date: 2000-09-23 17:34:31
Message-ID: 20000923193431.B10680@styx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)apartia(dot)org - http://www.apartia.org

"You're cute when you're stupid"

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Neil Conway 2000-09-23 18:56:27 Re: running maintenance tasks on DB
Previous Message Jarmo Paavilainen 2000-09-23 17:30:14 About OID and the commands/operators STRING( ... )..AS and +