Re: Como concatenar bases de datos de mismo esquema distinta data

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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