Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group