Strange primary key error on insertion

From: Rory Campbell-Lange <rory(at)campbell-lange(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Strange primary key error on insertion
Date: 2011-10-06 09:57:26
Message-ID: 20111006095726.GA24284@campbell-lange.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have a strange issue (postgres 8.4) trying to insert old rows back
into the s_tbls table. A check on the primary key (n_id) between
s_tbl_import and s_tbls yields no matches, yet the index on s_tbls.n_id
yields an error when attempting to insert:

=> select n_id from s_tbl_import where n_id IN (
select n_id from s_tbls);

n_id
------
(0 rows)

=> insert into s_tbls (select * from s_tbl_import);

ERROR: duplicate key value violates unique constraint "s_tbls_pkey"

Table "s_tbls"
Column | Type | Modifiers
------------------+-----------------------------+--------------------------------------------------------
n_id | integer | not null default nextval('s_tbls_n_id_seq'::regclass)
dt_created | timestamp without time zone | default now()
dt_modified | timestamp without time zone | default now()
t_node | text |
...
Indexes:
"s_tbls_pkey" PRIMARY KEY, btree (n_id)

Thanks for any assistance
Rory

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vincent de Phily 2011-10-06 09:58:15 Never-idle autovacuum, and does (auto)vacuuming fill the OS cache ?
Previous Message thomas veymont 2011-10-06 09:49:00 Re: gaps/overlaps in a time table : current and previous row question