Restart a sequence regularly

From: "Kathy Lo" <kathy(dot)lo(dot)ky(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Restart a sequence regularly
Date: 2007-11-21 07:39:43
Message-ID: c10e7feb0711202339j2fda10cbn41262c7bbdcfea60@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I am using Postgresql 8.0.3 in Fedora Core 4.

In my database, it contains a sequence. And, I need to alter the range
of this sequence and restart it to the start of the new range at
00:00:00 on 1st January on every year. 5 seconds before and after that
time, I need to prevent users from calling nextval() to retrieve the
next number from this sequence.

I can write a Perl script to alter the sequence and schedule to run
this script at 23:59:55 on 31st December on every year.

But, I don't know how to lock the sequence to prevent others from
accessing this sequence to get next number and Postgresql does not
support to lock a sequence.

How can I prevent others from accessing the sequence, like locking a
table? That means, when others want to access the sequence between
31-Dec 23:59:55 and 1-Jan 00:00:05, they are waiting instead of
getting an error.

Thank
--
Kathy Lo

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2007-11-21 08:11:56 Re: MAybe a FAQ
Previous Message Dane Springmeyer 2007-11-21 07:14:15 Normalization tools for postgres?