Thread: scheduling stored procedure

scheduling stored procedure

From
"Alain Roger"
Date:
Hi,

I have a temporary table in which i store all emails of users who want to receive a newsletter.
to avoid spamming and to limit the size of this table, i would like to delete all requests (records) which are older than 72 hours.

i was thinking to execute each hour a stored procedure which will check the time and date (of now) if it is greater than "registration request time" stored in this temporary table.
if it is greater, so record will be deleted.

does postgresql have such timer (something like "cron" under unix/linux) ?

thanks a lot,

--
Alain
------------------------------------
Windows XP SP2
PostgreSQL 8.2.4 / MS SQL server 2005
Apache 2.2.4
PHP 5.2.4
C# 2005-2008

Re: scheduling stored procedure

From
Raymond O'Donnell
Date:
On 23/03/2008 16:08, Alain Roger wrote:
> i was thinking to execute each hour a stored procedure which will check
> the time and date (of now) if it is greater than "registration request
> time" stored in this temporary table.
> if it is greater, so record will be deleted.
>
> does postgresql have such timer (something like "cron" under unix/linux) ?

Not built in. There's pgAgent which comes with pgAdmin, which ought to
do what you want, though I haven't used it myself.  Alternatively, you
can use cron to call psql with the -c option to execute the command you
need run.

Ray.

---------------------------------------------------------------
Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
rod@iol.ie
---------------------------------------------------------------

Re: scheduling stored procedure

From
Ben
Date:
Traditionally, postgres lets other tools do things they're good at.....
like scheduling scripts to run every hour. :) I seem to recall there was a
postgres-specific scheduler project somebody started, but I cannot seem to
recall what it was called, much less how far along the project was.

On Sun, 23 Mar 2008, Alain Roger wrote:

> Hi,
>
> I have a temporary table in which i store all emails of users who want to
> receive a newsletter.
> to avoid spamming and to limit the size of this table, i would like to
> delete all requests (records) which are older than 72 hours.
>
> i was thinking to execute each hour a stored procedure which will check the
> time and date (of now) if it is greater than "registration request time"
> stored in this temporary table.
> if it is greater, so record will be deleted.
>
> does postgresql have such timer (something like "cron" under unix/linux) ?
>
> thanks a lot,
>
> --
> Alain
> ------------------------------------
> Windows XP SP2
> PostgreSQL 8.2.4 / MS SQL server 2005
> Apache 2.2.4
> PHP 5.2.4
> C# 2005-2008
>

Re: scheduling stored procedure

From
"Pavel Stehule"
Date:
On 23/03/2008, Alain Roger <raf.news@gmail.com> wrote:
> Hi,
>
> I have a temporary table in which i store all emails of users who want to
> receive a newsletter.
> to avoid spamming and to limit the size of this table, i would like to
> delete all requests (records) which are older than 72 hours.
>
> i was thinking to execute each hour a stored procedure which will check the
> time and date (of now) if it is greater than "registration request time"
> stored in this temporary table.
> if it is greater, so record will be deleted.
>
> does postgresql have such timer (something like "cron" under unix/linux) ?
>

no, but you can try pgAgent
http://www.pgadmin.org/docs/1.4/pgagent.html

> thanks a lot,
>
> --
> Alain
> ------------------------------------
> Windows XP SP2
> PostgreSQL 8.2.4 / MS SQL server 2005
>  Apache 2.2.4
> PHP 5.2.4
> C# 2005-2008