Re: Problemas al actualizar una BD

From: Julio Cesar Sánchez González <knowhow(at)sistemasyconectividad(dot)com(dot)mx>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: Carlos Mendez <lucas1850(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problemas al actualizar una BD
Date: 2008-01-10 22:23:32
Message-ID: 47869AE4.6050202@sistemasyconectividad.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Raul Andres Duque wrote:
>>
>> ----- Original Message ----- From: Carlos Mendez
>> To: pgsql-es-ayuda(at)postgresql(dot)org
>> Sent: Thursday, January 10, 2008 2:26 PM
>> Subject: [pgsql-es-ayuda] Problemas al actualizar una BD
>>
>>
>> Hola,
>>
>> Estoy realizando un sistema que centraliza en un servidor toda la
>> informacion de los colegios como ser >alumnos, profesores y notas,
>> los colegios se conectan al servidor central a traves de internet,
>> pero sucede >que no todos los colegios tienen internet y me dijeron
>> que no dejara de lado a esos colegios, bueno, lo que >a mi se me
>> ocurre es instalarles un sistema local a cada colegio que no tenga
>> conexion a internet y despues >pedirles un backup de su bd local y
>> subir este backup a la bd del servidor central.
>>
>> aqui viene el problema,
>> cuando yo intento subir un backup que tiene registros que ya estan en
>> la bd central en el sistema no los >carga me dice error lo cual esta
>> muy bien, pero tampoco inserta los registros nuevos lo cual yo
>> quisiera, es >decir supongamos que me dieron un primer backup de un
>> colegio que tiene la tabla alumnos con 10 >registros, supongo que ese
>> bakcup se subira sin ningun problema al servidor central porque son
>> registros >nuevos, pasado algun tiempo me daran el segundo backup del
>> colegio para que lo cargue al servidor >central y supongamos que
>> contiene en la tabla alumnos 15 registros(10 antiguos y 5 nuevos),
>> cuando >intente subir esta tabla me dara error pues la bd central ya
>> tiene los 10 primeros registros y no insertara los >5 nuevos
>> registros que no tiene,
>> lo que busco es que cuando intente subir el backup, se inserte solo
>> los nuevos registros es decir aquellos >registros que estan en el
>> backup de la bd del colegio y que no esten en la bd central, y que si
>> en el colegio >se modifico algun registro antiguo este tambien se
>> pueda modificar cuando se suba el backup.
>> En resumen que se inserte solo los nuevos registros, que se
>> modifiquen los que se han modificado en la la >bd del colegio, y que
>> los registros que estan contenidos en el backup pero que ya estan en
>> la bd central >simplemente sean ignorados y que no salga error y que
>> solo se inserten los registros nuevos o modificados
>>
>> ¿Como hago esto? existen funciones o comandos especiales de pgsql
>> para realizar el backup o para >realizar la subida a la base de datos
>> central de manera que haga lo que deseo? o algun software especial?
>>
>> Gracias de antemano por la ayuda,
>> saludos.
>
> Alguna vez tuve la necesidad y no encontré algo "mágico" que me
> resolviera el problema, lo que hice fue crear una tabla intermedia
> donde cargaba los datos del "backup" y luego un proceso hacia la
> sincronización analizando si debía hacer un insert o update.
>
> Una herramienta por el estilo usé con otro motor (unify), lo que hacía
> esta herramienta servía para cargar planos hacia la DB pero tenía un
> parametro que me permitía que si un registro ya existía (basado en la
> PK) lo actualizara y si no lo insertara ... sería una buena
> característica para adicionale al COPY de nuestro querido postgresql.
>
> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia
>
> --
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
>
Sin duda vas a tener que procesar el archivo origen para anexarlo a tu
base de datos central, por desgracia no se de ninguna herramienta que te
haga dicho proceso automatico, creo que vas a tener que generar unos
cuantos scripts que automaticen los pasos de crear tablas temporales y
verificar si el registro ya existe o no, pero la buena noticia es que ya
que tengas esos scripts de importacion/exportacion te seran utiles para
toda la vida de tu proyecto, siempre y cuando los realices lo mas
flexibles posibles.

--
Saludos,

Julio Cesar Sánchez González.

--
Ahora me he convertido en la muerte, destructora de mundos.
Soy la Muerte que se lleva todo, la fuente de las cosas que vendran.

www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2008-01-10 23:48:55 Re: Problemas al actualizar una BD
Previous Message Raul Andres Duque 2008-01-10 20:55:38 Re: Problemas al actualizar una BD