From: tv@fuzzy.cz
To: Merlin Moncure <mmoncure@gmail.com>
Cc: Kranti�@sq.gransy.com, "K K Parisa" <kranti.parisa@gmail.com>
Cc: pgsql-admin@postgresql.org
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Very Urgent : Sequences Problem
Date: Wed, 19 Nov 2008 17:53:09 +0100 (CET)
Message-ID: <61685.89.102.139.23.1227113589.squirrel@sq.gransy.com> (raw)
In-Reply-To: <b42b73150811190840s1b92bcc7tc45be2fe6863bfe2@mail.gmail.com>
References: <4478b4ac0811190754n42d9539v4bd42350fac24d1@mail.gmail.com>
<b42b73150811190840s1b92bcc7tc45be2fe6863bfe2@mail.gmail.com>
> On Wed, Nov 19, 2008 at 10:54 AM, Kranti� K K Parisa
> <kranti.parisa@gmail.com> wrote:
>> Hi,
>>
>> I have defined sequence on a table something like this
>>
>>
>> CREATE SEQUENCE items_unqid_seq
>> INCREMENT 1
>> MINVALUE 0
>> MAXVALUE 9223372036854775807
>> START 7659
>> CACHE 1;
>>
>> this is on a table called items. where i have currently the max(unq_id)
>> as
>> 7659.
>>
>> and in the stored procedure when i am inserting values into the items
>> table
>> for the unq_id column i am using the sequence as follows:
>>
>> nextval('items_unqid_seq'::text)
>>
>>
>> it seems to be working some times. and the sequences are not getting
>> updated
>> sometime. which is casuing primary key exceptions.
>>
>> please advise as soon as possible.
>>
>> is there any trivial problem with sequences in postgresql??
>
> no (at least none that I know of).
>
> maybe if you posted the source of your procedure? I bet your error is
> coming form some other source.
Are you sure you're using the nextval() properly whenever you insert data
into the table? This usually happens when a developer does not use it
properly, i.e. he just uses a (select max(id) + 1 from ...) something like
that. One of the more creative ways of breaking sequences was calling
nextval() only for the first insert, and then adding 1 to the ID.
BTW. do you have RULEs defined on the table? Some time ago I run into a
problem with RULEs defined on the table, as all the rules are evaluated -
I've used nextval() in all the rules so it was incremented for each rule
and it was not clear which value was actually used. So it was not sure
which value to use in a following insert (as a FK value).
regards
Tomas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: tv@fuzzy.cz, mmoncure@gmail.com, kranti.parisa@gmail.com, pgsql-admin@postgresql.org
Subject: Re: [PERFORM] Very Urgent : Sequences Problem
In-Reply-To: <61685.89.102.139.23.1227113589.squirrel@sq.gransy.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox