Bonjour à tous.
Je me trouve face à un problème qui après pas mal de recherche n'a pas trouvé de solution.
J'espère que certains d'entre vous pourront m'éclairer
Je vais organiser mon poste en 3 partie : ce que je veux faire, ce que j’exécute, ce qui pose problème.
Tout d'abord ce que je veux faire :
- Sauvegarder une base avec l'ensemble des infos (structure, données, fonctions, trigger) dans un fichier "dump"
- Restaurer ces mêmes données (structure,données,trigger,etc...) dans une nouvelle base ayant un nom différent (ex: src=toto dst=titi)
Jusque là rien de bien sorcier.
Ensuite ce que je fais :
- un pg_dump ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part pg_dump -i -F c -i -h ***.***.***.*** -p #### -U #### -f c:\dump.bak maBaseSource
- un script de création qui est à la fin de la liste
- un pg_restore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part pg_restore -F c -h ##### -p #### -U #### -d testingBackup C:\dump.bak
Code Source de creation de la base
Ce que j'ai comme problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE DATABASE "testingBackup" WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'French_France.1252' LC_CTYPE = 'French_France.1252' CONNECTION LIMIT = -1;
Dans le fond il n'y a pas de problème puisque tout est restauré mais dans un soucis de "propreté" je souhaite enlevé toute les erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 626; 2612 16386 PROCEDURAL LANG UAGE plpgsql postgres pg_restore: [archiver (db)] could not execute query: ERREUR: le langage "plpgsql" existe déjà* Command was: CREATE PROCEDURAL LANGUAGE plpgsql; WARNING: errors ignored on restore: 1
Dans ce but je suis ouvert à toute vos propositions.
Merci d'avance de votre aide.
Partager