PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 22/08/2011 09:21:51

Selzig
Membre

Méthode pour répliquer simplement rôles et tables.

Bonjour,

1. Un PostgreSQL "tout neuf" est installé sur un serveur A (Windows 2008 server avec son interface graphique).
2  Sur le serveur A, je crée les rôles, tables issues de mon environnement mySQL.
3. J'installe un serveur PostgreSQL B (même version -"tout neuf et donc vide") sur un serveur Debian (sans interface graphique).

Est-il possible de synchroniser simplement à ce stade (une fois pour l'instant) le serveur PostgreSQL B avec le serveur A... en ligne de commande pour y intégrer toutes les modifications de l'étape 2 ?

Merci. Cordialement.
Gilles

Dernière modification par Selzig (22/08/2011 09:23:26)

Hors ligne

#2 22/08/2011 09:41:56

gleu
Administrateur

Re : Méthode pour répliquer simplement rôles et tables.

Oui, il suffit d'utiliser pg_dumpall :

pg_dumpall -h serveurA | psql -h serveurB postgres

Il vous dira certainement que le rôle postgres existe déjà, ce qui est normal. Cette erreur peut être ignorée sans risque. Le reste sera restauré correctement.


Guillaume.

Hors ligne

#3 22/08/2011 09:49:13

Selzig
Membre

Re : Méthode pour répliquer simplement rôles et tables.

Bonjour,

Impeccable... Merci!
Gilles

Hors ligne

#4 22/08/2011 14:42:46

Selzig
Membre

Re : Méthode pour répliquer simplement rôles et tables.

Je précise mon impeccable : en une ligne cela ne passe pas chez moi. Donc je l'ai fait en 2 étapes.

chcp 1252
set PSQL="G:\Wamp\PostgreSQL\bin"
%PSQL%\pg_dumpall -h 192.168.0.15 | psql -h 127.0.0.1 postgres >>  provoque une erreur :psql: la connexion au serveur a été coupée de façon inattendue  Le serveur s'est peut-être arrêté anormalement avant ou durant le
traitement de la requête."

Pas bien grave... Donc à la place :
chcp 1252
set PSQL="G:\Wamp\PostgreSQL\bin"
%PSQL%\pg_dumpall --host=192.168.0.15 --username=postgres > c:\sa
ve.sql

Puis
%PSQL%\psql --host=127.0.0.1 --username=postgres < c:\save.sql

Cordialement. Gilles

Dernière modification par Selzig (22/08/2011 14:46:07)

Hors ligne

#5 22/08/2011 14:45:50

gleu
Administrateur

Re : Méthode pour répliquer simplement rôles et tables.

Donc soit il faut faire :

%PSQL%\pg_dumpall --host=192.168.0.15 --username=postgres | %PSQL%\psql --host=127.0.0.1 --username=postgres

soit il y a un soucis pour lequel il nous faut le message d'erreur pour pouvoir aller plus en avant. Peut-être un problème de firewall ou de routeur.


Guillaume.

Hors ligne

#6 22/08/2011 14:49:59

Selzig
Membre

Re : Méthode pour répliquer simplement rôles et tables.

Non, pas de problème au dernier niveau évoqué. Je n'ai pas le temps de vérifier les diverses possibilités mais il me semble que certains messages d'erreur diffèrent selon l'utilisation de -h ou --host.... quand il y a mauvaise écriture. Par contre de mauvaises habitudes par "facilité" --host = 192.168.0.30 (qui est l'adresse de la station locale ne passe pas). Il faut évidemment utiliser --host = 127.0.0.1.

Je regarderai cela plus tard. Pour l'instant, cela me convient très bien. L'ensemble est efficace. Il ne faut pas espérer en quelques jours maîtriser toutes les subtilités...

Merci pour votre aide. Gilles

Dernière modification par Selzig (22/08/2011 14:52:32)

Hors ligne

Pied de page des forums