Re: La mejor manera de actualizar una tabla con datos externos.

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Pablo Braulio <brulics(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: La mejor manera de actualizar una tabla con datos externos.
Date: 2006-01-30 16:58:16
Message-ID: 20060130165816.GA8916@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Pablo Braulio escribió:

> > Una idea seria borrar todos los datos en la tabla de destino (TRUNCATE)
> > y hacer el COPY a la tabla completa. La otra seria ver si hay alguna
> > manera de ver en el "maestro" cuales son los registros que se insertaron
> > despues de la ultima vez que "replicaste"; una manera de hacerlo es
> > tener un booleano en cada registro, valor inicial falso, y cuando se
> > replique cada valor ponerlo en verdadero. Solo replicar aquellos con
> > falso.
>
> Me quedo con esto último que has dicho. Pero, ¿te refieres a introducir un
> valor verdadero en el campo booleano con una función tras la inserción? y
> ¿como se podría hacer la comprobación en el copy?

Hum, cual comprobacion? Simplemente inicia una transaccion en modo
serializable, vuelca los datos de la tabla que esten en falso, luego haz
un UPDATE que cambie todo a "verdadero". Como esta en modo
serializable, los datos que se hayan insertado mientras estabas en
proceso no deberian ser tocados, y los datos que se hayan volcado con
anterioridad no deberian volcarse nuevamente, y por lo tanto por
definicion no habra ningun conflicto al momento de ejecutar el COPY.

Si eso no funciona, considera botar la otra base de datos y sustituyela
por una que soporte modo serializable.

--
Alvaro Herrera http://www.PlanetPostgreSQL.org
Dios hizo a Adán, pero fue Eva quien lo hizo hombre.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Pablo Braulio 2006-01-30 17:25:31 Re: La mejor manera de actualizar una tabla con datos externos.
Previous Message Jaime Casanova 2006-01-30 16:39:30 Re: PostgreSQL, soporta actualmente Assertion????