Re: Problemas al actualizar una BD

From: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
To: "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 20:55:38
Message-ID: 006501c853cb$289b9310$5800a8c0@amadeus.net.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

>
>----- 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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Cesar Sánchez González 2008-01-10 22:23:32 Re: Problemas al actualizar una BD
Previous Message Jeff Davis 2008-01-10 20:02:14 Re: 8.3beta bug or feature?