Re: Error inserting row on unique key

From: "Benjamin Krajmalnik" <kraj(at)illumen(dot)com>
To: "Allan Kamau" <kamauallan(at)yahoo(dot)com>
Cc: <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Error inserting row on unique key
Date: 2006-04-20 22:38:42
Message-ID: 8511B4970E0D124898E973DF496F9B43251587@stash.stackdump.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

The sequence is the only source.
The good news is that I was using the sequence to enable purging of old data to maintain our retention period.
I am going to try a different methodology by using table partitioning - one inherited table for each month of data. That way after the retention period is done I can jusr truncate the table without affecting performance in balancing the indices (at least I hope that's what will happen :).

Each row being inserted has a test time (timestamp). I plan to use extract(month from timestampfield) to tag it for a specific partition.
I am still trying to figure out this thing out. Would it be best to use a before insert trigger on the parent table, or a rule?
The pseudocode would be such as:

case partitionid
of 1
insert data into partition1
of 2
insert data into partition1
.
.
of 12
insert data ito partition 12
end case

Any suggestions on how to formulate either the trigger procedure or a rule would be greatly appreciated.

Regards,

Benjamin
-----Original Message-----
From: Allan Kamau [mailto:kamauallan(at)yahoo(dot)com]
Sent: Thursday, April 20, 2006 3:38 PM
To: Benjamin Krajmalnik
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] Error inserting row on unique key

Benjamin,
Are you sure the sequence is the only source of the
values of the primary key field of all records in this
table, that no records may have been inserted using
primary key field values generated from sources other
than the sequence.

Allan.

--- Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "Benjamin Krajmalnik" <kraj(at)illumen(dot)com> writes:
> > I have a large table which uses a sequence for
> column which is defined as the primary key.
> > Our systems is a real time data acquisition
> system, so we have "insert" statements going through
> it wrapped inside stored procedure.
>
> > Every once in a while I get an inserio error on a
> violation of a unique constraint on the primary key.
>
> Let's see that stored procedure ...
>
> regards, tom lane
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please
> send an appropriate
> subscribe-nomail command to
> majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list
> cleanly
>

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Browse pgsql-admin by date

  From Date Subject
Next Message Jim C. Nasby 2006-04-20 22:42:08 Re: Notification of database changes
Previous Message Allan Kamau 2006-04-20 21:38:29 Re: Error inserting row on unique key