From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Jonathan Finlay <jmfinlayp(at)gmail(dot)com> |
Cc: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Como concatenar bases de datos de mismo esquema distinta data |
Date: | 2014-09-06 02:44:22 |
Message-ID: | CAJKUy5gtzHs6KbO0pjA+c6_q55r5ubR=xiXrxywbyE95ewKsug@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, Sep 5, 2014 at 6:36 PM, Jonathan Finlay <jmfinlayp(at)gmail(dot)com> wrote:
> Estimados,
>
> a los años por aquí, me encuentro con un problema:
>
> Necesito concatenar varias bases de datos en una sola y mi problema se dá
> con las primary keys seriales de cada tabla y las relaciones entre sí.
>
> Los que quiero hacer es: BD1 + DB2 = DB3
>
[...]
>
> Por ahora estoy haciendo un script en python para procesar esto pero son 15
> tablas las que hay que concatenar y existen unas 20 relaciones.
>
Si solo son 15 tablas yo lo haría a mano. Me parece exagerado el script en
Python. Bueno, yo lo haría para jugar pero tu ya sabes python...
Lo que yo haría es:
- Cargar la primera base, solo las tabas y sus datos. Sin constraints ni índices
- Busca en la segunda base el mayor id en todas las tablas y redondealo hacia
arriba, supongamos que fuera 9876 yo me quedaría con 10000.
- Verifica que ese valor sea mayor a todos los id's en la primera base, si no lo
es usa el id de la primera base redondeado hacia arriba.
- Haz un update en todas las tablas de la primera base sumandole al id
el valor que
escogiste.
- Carga los datos de la segunda base.
- Ahora ya puedes cargar los constraints e índices.
Te queda de tarea cerrar el hueco que quedará en los id's. Personalmente, yo
lo dejaría ahi
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | jvenegasperu . | 2014-09-08 01:50:19 | Re: Disparador que crea registros en una tabla para control de UPDATE y DELETE de otra tabla |
Previous Message | Jonathan Finlay | 2014-09-05 23:36:19 | Como concatenar bases de datos de mismo esquema distinta data |