Bonjour,
Comment peut-on importer et exporter une base de données postgresql en créant un fichier bat ?
j'ai essayé quelques scripts que j'ai trouvés, mais en vain.
Merci de m'aider
Version imprimable
Bonjour,
Comment peut-on importer et exporter une base de données postgresql en créant un fichier bat ?
j'ai essayé quelques scripts que j'ai trouvés, mais en vain.
Merci de m'aider
merci de nous mettre ce que vous avez déjà tenté.
Voici le code que j' ai essayé, sachant que je travail sur Windows
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Dim Wshell SET Wshell = Createobject("Wscript.Shell") SET oFSO = CreateObject("Scripting.FileSystemObject") SET conn = CreateObject("ADODB.Connection") SET rst = CreateObject("ADODB.Recordset") stRep = "E:\" arRep = "E:\work" '------------------------------------------' 'Connexion à la base pour déterminer dynamiquement le nom des bases à sauvegarder '------------------------------------------' 'Initialisation de la connexion à la base postgre locale conn.ConnectionString = "DRIVER={PostgreSQL Unicode};" _ & "SERVER=127.0.0.1;" _ & "DATABASE=Test;" _ & "UID=aziz;PWD=ZIPS" conn.open 'on initialise la liste des bases sql = "SELECT datname FROM pg_database WHERE ((NOT(pg_database.datname)='template0' AND NOT(pg_database.datname)='template1' AND NOT(pg_database.datname)='postgres'));" rst.open sql,conn 'Première passe: on nettoie la base puis 'On sauvegarde les bases avec pg_dump while not rst.eof for each datname in rst.fields Wshell.Run "vacuumdb -z -d "&datname&" -h localhost -U postgres",1,True Wshell.Run "pg_dump -h localhost -U postgres -F c -f "&stRep&datname&".dmp "&datname,1,True next rst.movenext wend conn.close
C'est du VB, vous auriez plus de chance sur leur forum, mais je me demande si il n'y a pas une erreur dans la ligne suivante
Code:
1
2 Wshell.Run "pg_dump -h localhost -U postgres -F c -f "&stRep&datname&".dmp "&datname,1,True
que je noterais comme ceci
Code:
1
2 Wshell.Run "pg_dump -h localhost -U postgres -F c -f "&stRep&datname&".dmp "&datname&"",1,True
Si le but est d'exporter une seule base, pratiquement tout ce script est inutile, seul l'appel à pg_dump étant à conserver.