Re: problema orden comprobación integridad

From: "postgres Emanuel CALVO FRANCO" <postgres(dot)arg(at)gmail(dot)com>
To: Linos <info(at)linos(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: problema orden comprobación integridad
Date: 2008-10-06 12:47:12
Message-ID: f205bb120810060547ncb718aal19afbfb0efb8cb30@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

ok!

El día 3 de octubre de 2008 15:09, Linos <info(at)linos(dot)es> escribió:
> Respecto al problema q planteaba fue un error al copiar la sentencia q
> fallaba en mi maquina local al hacer la prueba, pero lo que me preguntas es
> porque la solución de replicacion que utilizo tiene un mecanismo de fallback
> que cuando el registro (identificado por la clave primaria) ya existe pasa
> los mismos valores del insert que lleva como un update para esa clave
> primaria, sin embargo si salta un error de integridad por indice único no lo
> hace. El problema aquí es que la base de datos donde se crea por primera vez
> el registro graba (mediante un trigger) los cambios, los envía a la central
> y la central lo envía de nuevo a todos los nodos (entre los cuales esta el
> de origen), por eso tiene el mecanismo de cambiar a update si la clave
> primaria existe porque cuando quieres que lo que grabes en cada nodo se
> replique a los demás y no solamente al central, la misma sentencia que creo
> la fila te vuelve luego.
>
>
> postgres Emanuel CALVO FRANCO escribió:
>>
>> CONSTRAINT albaran_salida_bultos_cab_pkey PRIMARY KEY (bulto_id),
>> CONSTRAINT bulto_cabecera_id_documento_key UNIQUE (id_documento,
>> numero_bulto_documento)
>>
>> (...) error de clave primaria el callback, como aquí el error es un
>> indice único me bloquea los canales de replicacion con un error, por
>> que sucede esto? puedo hacer q siempre salte el error sobre la clave
>> primaria sin borrar el indice único? (...)
>>
>> Entonces para que tenes los constratints si desoueslos queres saltear?
>> Por lo que estoy viendo vas a tener que normalizar a un nivel superior
>> para tener dos tablas.
>>
>>
>>
>>
>> El día 3 de octubre de 2008 6:22, Oswaldo Hernández
>> <listas(at)soft-com(dot)es> escribió:
>>>
>>> Linos escribió:
>>>>
>>>> Moises Alberto Lindo Gutarra escribió:
>>>>>
>>>>> El día 2 de octubre de 2008 16:54, Linos <info(at)linos(dot)es> escribió:
>>>
>>> ...
>>>>>>>>
>>>>>>>> skuda=# INSERT INTO bulto_cabecera(id_documento, bulto_id,
>>>>>>>> numero_bulto_documento, time_stamp, id_usuario, completo,
>>>>>>>> tipo_origen)
>>>>>>>> VALUES ('2000244341'::integer, '2000244343'::integer, '2'::integer,
>>>>>>>> 'now()'::timestamp with time zone, '2102'::integer, FALSE::boolean,
>>>>>>>> 'ALBARAN_SALIDA'::text)
>>>>>>>> skuda-# ;
>>>>>>>> ERROR: duplicate key value violates unique constraint
>>>>>>>> "albaran_salida_bultos_cab_pkey"
>>>>>>>> skuda=# \q
>>>
>>> ...
>>>>>>>>
>>>>>>>> skuda=# INSERT INTO skuda.bulto_cabecera(id_documento, bulto_id,
>>>>>>>> numero_bulto_documento, time_stamp, id_usuario, completo,
>>>>>>>> tipo_origen)
>>>>>>>> VALUES ('2000244341'::integer, '200024434'::integer, '2'::integer,
>>>>>>>> 'now()'::timestamp with time zone, '2102'::integer, FALSE::boolean,
>>>>>>>> 'ALBARAN_SALIDA'::text);
>>>>>>>> ERROR: duplicate key value violates unique constraint
>>>>>>>> "bulto_cabecera_id_documento_key"
>>>>>>>>
>>> ...
>>>>
>>>> si es normal q esto suceda así (que de manera random o eso parece elija
>>>> con que constraint negar la inserción de la nueva fila)
>>>>
>>> Linos,
>>>
>>> He hecho una sencilla prueba y *siempre* salta la excepcion de la pk
>>> aunque
>>> tambien haya duplicidad en la clave única.
>>>
>>> En los insert que envias estas utilizándo un valor distinto para la
>>> primary
>>> key. ¿Estas Seguro de que el bulto_id '200024434' existe?
>>>
>>> --
>>> *****************************************
>>> Oswaldo Hernández
>>> oswaldo (@) soft-com (.) es
>>> *****************************************
>>> PD:
>>> Antes de imprimir este mensaje, asegúrese de que es necesario.
>>> El medio ambiente está en nuestra mano.
>>> --
>>> TIP 7: no olvides aumentar la configuración del "free space map"
>>>
>> --
>> TIP 7: no olvides aumentar la configuración del "free space map"
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-10-06 13:50:36 Re: compilacion de fuentes en ubuntu
Previous Message Raúl Andrés Duque Murillo 2008-10-06 10:43:24 Re: usar tipo money o real en proceso de facturacion ?