From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | "Hortschitz, Stefan" <Stefan(dot)Hortschitz(at)lfrz(dot)at> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: failed insert into serial-type row |
Date: | 2005-06-18 13:52:55 |
Message-ID: | 20050618135255.GA91505@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Tue, Jun 14, 2005 at 07:28:22AM +0200, Hortschitz, Stefan wrote:
>
> sometimes if i'm adding new rows to the table with statements like
> this:
>
> insert into (name,value) ('xy','xy');
>
> the database only returns an 'duplicate key on primary key', which
> should be prevented by the serial-datatype, or? how could it be, that
> two rows become the same id??
One possibility is that the table contains IDs that are higher than
the sequence value, so you occasionally get duplicates when you use
the sequence. What are the results of the following queries?
SELECT max(id) FROM session.preferences;
SELECT * FROM session.preferences_id_seq;
If max(id) is higher than the sequence's last_value, then you can
adjust the sequence with setval() or ALTER SEQUENCE. Then you
should to figure out how that happened so you can prevent it from
happening again.
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Sabino Mullane | 2005-06-18 13:56:26 | Re: getting a sequence to update properly |
Previous Message | Andrew Janian | 2005-06-17 21:46:41 | Re: startup subprocess hangs |