Wednesday, September 17, 2008

Re: [pgsql-fr-generale] fusionner des bases

SOULABAILLE Samantha a écrit :
> Bonjour,

Bonjour,

> J'ai un (énorme) souci avec deux bases hébergées sur deux serveurs pour
> deux sites web.
>
> Elles ont exactement la même structure (schéma, tables), seules les
> données sont différentes, même version de postgresql pour le serveur.
>
> Cela fait quelques années qu'elles sont en prod et qu'elle se sont
> remplies allègrement.
>
> On me demande maintenant si on peut les fusionner pour ne garder qu'un site.
>
> Les bases sont énormes, une bonne soixantaine de tables, des
> serials/foreign key/blob/oids un peu partout, bref un joyeux petit monde.
>
>
> Tout d'abord une telle opération est-elle possible ? Sachant qu'on a
> aussi certaines obligations par rapport à l'indisponibilité de ces sites
> web (je ne suis pas sure qu'on puisse se permettre plus d'une journée
> d'arrêt ou ½ journée).

Rien d'évident, qui pourrait se faire via quelques ordres SQL, ne me
vient à l'esprit pour fusionner vos bases.

Le principale problème que je vois est celui des clés automatiques.
Chacune de vos bases ayant son propre vécue, inévitablement les clés de
l'une vont déjà exister dans l'autre (référencent des tuples différents).

Peut-être pourriez-vous exporter les données de chaque base (pgdump).
Puis expérimenter une fusion sur ces données via un script intégrant
votre logique métier pour gérer la fusion. Les données ainsi traitées
seront ensuite remonter dans une base. Oui, c'est facile à dire ;)

> Est-ce qu'il existe des outils, ou des procédures, au moins quelque
> chose qui permette de faire cela ?

Pyton, PHP, Perl^W, ...

Stéphane.
(...)

--
Sent via pgsql-fr-generale mailing list (pgsql-fr-generale@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-fr-generale

No comments: