Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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