Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 22 January 2015 15:55

Sophie_Géo
Participant actif
Lieu: Nantes
Date d'inscription: 16 Jul 2012
Messages: 59

PostgreSQL - Modifier 1 database qui modifie toutes les autres

Bonjour,

J'ai crée une database "modèle" avec une structure type.

Cette database a été dupliquée plusieurs fois (sur le même serveur) pour permettre à mes collègues de travailler sur leur propre espace (25 bases en tout).

Je souhaite modifier cette base "modèle" et qu'elle répercute cette modif sur toutes les autres bases de mes collègues.

Est-ce-possible? Comment faire?

Merci!

Ps: J'ai bien une petite idée concernant Réplication Slony mais il faut créer un cluster et que sais je encore, je n'ai peut être pas les capacités de me lancer là dedans.

Hors ligne

 

#2 Thu 22 January 2015 16:52

vincentp
Participant actif
Lieu: Paris
Date d'inscription: 18 Jul 2006
Messages: 127

Re: PostgreSQL - Modifier 1 database qui modifie toutes les autres

Bonjour,

Je vous conseille de rester assez simple si c'est une action one-shot : faire toutes les modifications avec des requêtes SQL sur votre base principale. Enregistrez ces requêtes dans un fichier, et rejouez avec psql ce fichier sur chacune des bases.


Vincent

Hors ligne

 

#3 Thu 22 January 2015 17:00

Sophie_Géo
Participant actif
Lieu: Nantes
Date d'inscription: 16 Jul 2012
Messages: 59

Re: PostgreSQL - Modifier 1 database qui modifie toutes les autres

Re bonjour,

Merci pour cette info, ça peux être pas mal.
Mais cela sous entend que j'enregistre mes requêtes et que je l'ouvre une fois sur chacune des 25 bases, soit 25 fois la même manip...
J'aurai aimé pouvoir faire une manip sur la base principale et qu'il ajuste sur toutes les bases d'un coup...

Hors ligne

 

#4 Thu 22 January 2015 17:17

Sophie_Géo
Participant actif
Lieu: Nantes
Date d'inscription: 16 Jul 2012
Messages: 59

Re: PostgreSQL - Modifier 1 database qui modifie toutes les autres

Parce que pour l'instant j'ai 25 bases mais on pourrait passer à 45/50

Hors ligne

 

#5 Thu 22 January 2015 18:22

vincentp
Participant actif
Lieu: Paris
Date d'inscription: 18 Jul 2006
Messages: 127

Re: PostgreSQL - Modifier 1 database qui modifie toutes les autres

Il faut faire le rejeu sur les autres bases en ligne de commande en utilisant psql dans une boucle, ou bien générer toutes les instructions de la ligne de commande.

Par exemple quelque chose de ce gout là en bash :

Code:

for db in mabase1 mabase2 mabase3; do psql -h localhost -f mesrequetes.sql $db ; done

Ou, pour le fun générer les lignes de commande en SQL (c'est assez efficace finalement) :

Code:

select 'psql -h localhost -f mesrequetes.sql ' || dbname as cmd from (values ('db1'),('db2') ) as dbs(dbname);

Il faut compléter les options de psql et éventuellement remplir un .pgpass pour ne pas taper les mots de passe.

Hors ligne

 

Pied de page des forums

Powered by FluxBB