|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
Bonjour,
J'ai un petit soucis d'import export avec mes bases postgres. j'ai un serveur sous redhat avec postgres 7.2 ou 7.3 je sais plus ensuite j'ai un PC sous XP avec postgres 8.1 je voudrais faire un export complet de la base sous postgres 7.2 pour l'importer dans postgres 8.1... j'ai donc fait : pg_dump -i -h localhost -p 5555 -U postgres -F c -b -v-c f /tmp/Mabase.backup Mabase ensuite je vais sur le PC avec XP je fais un createdb -U postgres Mabase et ensuite un pg_restore -i -h localhost -p 5555 -U postgres -F c Mabase.backup Mabase et là j'ai trois tonnes de messages d'erreurs qui défilent, à la fin toute la structure de la base est bien créé mais elle est vide.... que faut-il faire de plus ? rajouter l'option create dans le pg_dump ??? pour info, sur le PC XP j'ai 1 autre base postgres et j'arrive, avec les même commandes, à faire un export de cette base pour l'importer dans une nouvelle base créé comme je dis au dessus... donc si vous avez une idée, je suis preneur ! merci d'avance MrSaladin |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
il m'est déjà arrivé d'avoir ce genre de problème avec Postgres 7.3... En fait, dans certains cas, pg_dump s'emmêle un peu les pinceaux dans le choix de l'ordre dans lequel la création des tables/séquences/fonctions/vues ou l'intégration des données (avec COPY) doit s'effectuer. Il peut par exemple mettre la création d'une vue avant la création des tables dont elle est composée, ce qui provoque évidemment l'échec de la création de la vue et au final un schéma de base incomplet. Ce problème est référencé (il est même mentionné dans la doc de Postgres 7.x), et se pose généralement pour des bases plutôt complexes. Dans ton cas si la structure est a priori ok (je t'invite toutefois à t'en assurer complètement), c'est que le problème se situe au niveau de l'ordre de la récupération des données qui ne doit pas respecter une contrainte de clé étrangère dans une (ou plusieurs) tables. Si c'est cela, pas d'autre solution que d'éditer manuellement le script SQL pour replacer les commandes dans le bon ordre. Il faut par contre que tu abandonnes le format binaire pour ton dump (sélectionné avec l'option -b) et passer au format texte pour accéder aux commandes SQL.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
bonjour,
merci pour ces infos. donc en fait j'ai refait un pg_dump avec l'option -C, maintenant la creation se passe bien, c'est au moment de restaurer les données que ca plante.... j'ai essayé de faire un pg_dump -a, c'est pareil.... MrSaladin |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
par expérience, quand ca merde, ajoute l'option '-d' voire '-D' lorsque tu crée ton dump de base.
C'est plus lent, mais ca plante moins souvent, en particulier lors de changements de version de pg. ++
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
effectivement c'est bien plus long !
le dump non à part qu'il est un peu plus gros, par contre le restore ca fait 40min qu'il tourne ! ....des que c'est fini je vous tiens au courant ! merci |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
D'autant que si comme je l'ai suggéré le souci vient d'un ordre erroné de chargement des tables, ça ne va pas régler le problème...
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Citation:
Citation:
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
bon alors hier soir en partant c'était pas fini alors j'ai laissé tourné mais ce matin c'était toujours bloqué sur la même table, j'ai fait un CTRL C, ça a continué rapidement sur les autres tables puis il y a eu des tonnes de messages d'erreurs : 400000 warnings !
alors que le dump fait 8Mo seulement... |
|
|
00
|
|
|
#9 | |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
Citation:
j'ai donc refait l'export sans l'option -b, j'ouvre le fichier mais comment voir ce qui va pas ? c'est chaud....surtout quand on connait pas grand chose aux BDD.... merci MrSaladin |
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
Par exemple, imagine que tu restaures une table A et une table B, la table B contenant des clés étrangères pointant sur la table A. L'ordre normal de restauration est donc A puis B. Si pg_dump se trompe, il tentera de restaurer B puis A, et le script échouera inévitablement avec un message d'erreur indiquant la violation d'une contrainte d'intégrité. Il suffira d'éditer le script et de replacer les commandes SQL dans le bon ordre pour que cela fonctionne.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 22 ![]() |
je vais essayer de regarder de plus pres....
merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com