From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Jorge Romeo <jromeo(at)samca(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Timestamp como primary key |
Date: | 2009-05-26 18:45:23 |
Message-ID: | 20090526184523.GJ32650@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jorge Romeo escribió:
> Lo que intento hacer es usar la fecha como identificador único de cada
> trama, ya que otros datos se pueden extraer de la cadena en bruto en
> caso necesario. Al insertar los datos, hago una consulta del tipo:
>
> INSERT INTO tramas_raw(trama) VALUES (<cadena debidamente convertida>);
>
> Esperaba que se insertara correctamente, ya que el tipo timestamp, al
> mostrarlo, se ve que tiene un montón de decimales, por lo que a la
> velocidad que se insertan los datos no debería ser posible que se
> repitieran los tiempos. En cambio, cuando empiezo a insertar me dice
> que violo la restricción.
El problema puede ser que now() está definida como el tiempo de inicio
de la transacción en curso, de modo que si intentas insertar dos
registros en una misma transacción, ambas tendrán el mismo valor y
obviamente fallará.
Quizás quieras definir DEFAULT statement_timestamp() en vez de now()
--
Alvaro Herrera http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"Crear es tan difícil como ser libre" (Elsa Triolet)
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Flores | 2009-05-26 18:58:40 | Problema con OLE DB PROVIDER |
Previous Message | BhEaN | 2009-05-26 18:32:42 | Re: Diferencia entre indices btree, rtree y hash |