Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 30/11/2009 18:51:14
- energiesysteme
- Membre
Pb restauration d'un dump partiel
Bonjour,
J'ai un pb de restauration d'un dump partiel.
Si je fais un dump avec "pg_dump -h host -U user -p port -c db > file.sql", je n'ai pas de pb.
Je ne peux pas toujours utiliser cette commande car j'ai des schémas qui sont énormes et donc je n'ai pas besoin.
J'utilise donc "pg_dump -h host -U user -p port -c -N sch_site_????????_archivage db > file.sql".
La différence est que j'exclue des schémas du dump.
Si je restore un dump partiel, la restauration n'est pas bonne.
Les schémas sont bien créés, mais seulement qq tables le sont.
Merci de votre aide
Hors ligne
#2 30/11/2009 19:08:32
- Marc Cousin
- Membre
Re : Pb restauration d'un dump partiel
Merci de commencer par expliquer exactement où est le problème : quelle table n'est pas restaurée, de quel schéma, à quoi vous attendiez vous ?
La question est trop vague pour le moment ?
Marc.
Hors ligne
#3 30/11/2009 19:20:46
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Je vais donc essayé d'être plus précis.
Exple:
J'ai 10 schémas ayant chacun 20 tables - certaines héritant d'autres.
Les schémas sont tous créés, mais seules les tables de 1 schéma sont créées.
Si je ré-exécute le restore, toutes les tables se crééent correctement.
je ne vois pas comment être plus clair, si ce n'est en fournissant le dump.
Quelle type d'info voulez-vous?
Cdlt
Hors ligne
#4 30/11/2009 19:35:00
- Marc Cousin
- Membre
Re : Pb restauration d'un dump partiel
Ce que vous reprochez à pg_dump, c'est de ne pas dumper la structure des tables contenues dans des schémas que vous avez choisi d'ignorer ?
Dernière modification par Marc Cousin (30/11/2009 19:35:13)
Marc.
Hors ligne
#5 30/11/2009 22:30:16
- gleu
- Administrateur
Re : Pb restauration d'un dump partiel
Quelle type d'info voulez-vous?
L'erreur que vous avez à la restauration serait un bon début.
Guillaume.
Hors ligne
#6 01/12/2009 10:27:05
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Je n'ai malheureusement aucune erreur qui remonte. Apparemment, tout se passe bien, mais en réalité, non.
J'ai le fichier log fait par psql. Ce log est dispo à l'URL : http://www.filedropper.com/pg_1
Merci d'avance
Hors ligne
#7 01/12/2009 19:13:05
- Marc Cousin
- Membre
Re : Pb restauration d'un dump partiel
Il ne semble pas y avoir d'erreur dans le fichier de log. Pourriez vous expliquer ce qui pose problème ?
Marc.
Hors ligne
#8 01/12/2009 19:21:14
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Une fois le restore effectuée (apparemment ss pb), j'ouvre PGAdmin pour faire qq vérifications.
Hors, la majorité des schémas n'a aucune table....
J'utilise PSQL pour faire le restore. Est-ce la bonne méthode?
Utilisant DUMP en mode sélectif, ne devrais-je pas utiliser PG_RESTORE?
Hors ligne
#9 01/12/2009 20:14:24
- Marc Cousin
- Membre
Re : Pb restauration d'un dump partiel
Si dans votre dump vous n'avez demandé le dump que de certains schémas il est normal que les autres soient vides
Marc.
Hors ligne
#10 02/12/2009 10:10:35
- gleu
- Administrateur
Re : Pb restauration d'un dump partiel
Pouvez-vous nous fournir la commande exacte que vous utilisez pour faire la sauvegarde et celle pour faire la restauration ?
Guillaume.
Hors ligne
#11 02/12/2009 10:21:33
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Bonjour,
La commande que j'utilise pour la sauvegarde est :
"pg_dump -h host -U user -p port -c -N sch_site_????????_archivage db > file.sql"
La commande que j'utilise pour la restauration est :
"psql.exe -h host -U user -p port -f script base"
Dernière modification par energiesysteme (02/12/2009 10:22:11)
Hors ligne
#12 02/12/2009 10:26:53
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Marc COUSIN,
Je me doute bien que si un schéma n'est pas sauvegardé, il ne pourra être restitué; il ne sera même pas recréé car pas ds le backup.
Dans le cas présent, les schémas présents ds le backup sont bien tous créés, mais ne sont pas tous complétés.
Dans quel cas utiliser PSQL et ds quel cas utiliser PG_RESTORE?
Hors ligne
#13 02/12/2009 14:45:43
- gleu
- Administrateur
Re : Pb restauration d'un dump partiel
Dans quel cas utiliser PSQL et ds quel cas utiliser PG_RESTORE?
psql ne peut restaurer que les sauvegardes au format SQL (format par défaut, option -Fp). pg_restore ne peut restaurer que les bases au format binaire (option -Ft ou -Fc). Donc, dans votre cas, ça ne peut être que psql.
Concernant le fichier de log que vous fournissez, ce n'est clairement pas le fichier de log de PostgreSQL. Ou alors c'est un fichier fortement modifié, et donc sans intérêt.
Vu que vous êtes apparemment sous Windows, si vous n'avez pas activé le log collector, il y a de fortes chances que les traces se trouvent dans le journal des événements. Le plus simple dans ce cas est d'activer le log collector (paramètre logging_collector) pour tout récupérer dans un fichier et nous l'envoyer.
Guillaume.
Hors ligne
#14 02/12/2009 15:04:30
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
Je pense avoir compris.
L'utilisation de PG_DUMP/PSQL fonctionne en SQL soit. Mais il faut aussi que le dump soit un dump sans restriction de schéma.
Si j'utilise PG_DUMP/PG_RESTORE avec Fc ou Ft, cela fonctionne parfaitement; même avec exclusion de schéma!
Peut-être y-a-t-il une restriction à l'utilisation de l'exclusion de schéma.
Merci pour vos pistes.
Hors ligne
#15 02/12/2009 15:23:03
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
J'oubliais, je vous confirme que le log que j'ai fourni vient bien de PSQL.
Hors ligne
#16 02/12/2009 17:10:54
- gleu
- Administrateur
Re : Pb restauration d'un dump partiel
je vous confirme que le log que j'ai fourni vient bien de PSQL.
Sincèrement, je n'y crois pas une seconde. C'est un log applicatif, ou un log du driver PostgreSQL, ou autre chose. Mais clairement, ce ne sont pas des traces générées par le serveur PostgreSQL. Sauf traitement après coup. Attention, je parle bien du serveur, pas des clients, pas des pilotes de connexion, etc.
Guillaume.
Hors ligne
#17 02/12/2009 17:56:09
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
La seule chose que je peux certifier, c'est que je ne me suis pas amusé à modifier un fichier de plus de 1Mo.
Il me semble que que l'ai eu via PSQL -L
Si cela vous semble douteux, je pourrai le refaire.
Hors ligne
#18 02/12/2009 18:09:04
- gleu
- Administrateur
Re : Pb restauration d'un dump partiel
psql est un client, pas le serveur PostgreSQL. Si vous voulez récupérer les messages d'erreur à partir du client, il faut aussi rediriger la sortie des erreurs. Par exemple :
psql -f sauvegarde.sql la_base 2>&1 | tee psql.log
Et psql.log contiendra la sortie standard et celle des erreurs du client psql... arg, je viens de me rappeler que c'est sous Windows. Donc, non, il faut absolument récupérer les traces du serveur PostgreSQL. Et psql n'est pas capable de vous les fournir. Il faut regarder la config de PostgreSQL pour savoir où ces derniers sont enregistrés.
Guillaume.
Hors ligne
#19 03/12/2009 10:20:20
- energiesysteme
- Membre
Re : Pb restauration d'un dump partiel
OK.
C'est vraiq ue PSQL est client. Pour moi c'était aussi coté serveur, mais non.
Mes tests avec PG_DUMP/PG_RESTORE fonctionne nickel, donc, je classe l'affaire.
Je vous remercie tous des conseils que vous m'avez donné.
Hors ligne
Pages : 1