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 :
  1. 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
  2. un script de création qui est à la fin de la liste
  3. 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
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;
Ce que j'ai comme problème :
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 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.
Dans ce but je suis ouvert à toute vos propositions.

Merci d'avance de votre aide.