Page 1 sur 1

commande pg_dump

Posté : 19 mai 2005, 16:29
par donny
Salut,


J ai essayer d effectuer la commande pg_dump sur ma base mais sa ne fonctionne pas cela me renvoi une erreur ?

<?php 


pg_dump -i -h 136.12.1.1 -p 5432 -U tom -F c -v -f "C:\Program Files\EasyPHP1-7\www\Projet\lasav01.bak"  "test"; 




?> 




et j ai ce message d erreur

Parse error: parse error, unexpected T_DNUMBER in c:\program files\easyphp1-7\www\projet\dump.php on line 4

Merci

Posté : 19 mai 2005, 16:43
par Cyrano
je peux me tromper, mais il me semble qu'il faut pas d'espace entre le "-p" et le "5432" qui suit ... ? J'ai lu un truc comme ça il y a peu de temps, mais je sais plus trop sur quels système au juste mais qui expliquait qu'en utilisant la forme courte de -password, donc -p, il ne fallait pas d'espace entre -p et le mot de passe

Posté : 19 mai 2005, 18:20
par thierry
je peux me tromper, mais il me semble qu'il faut pas d'espace entre le "-p" et le "5432" qui suit ... ? J'ai lu un truc comme ça il y a peu de temps, mais je sais plus trop sur quels système au juste mais qui expliquait qu'en utilisant la forme courte de -password, donc -p, il ne fallait pas d'espace entre -p et le mot de passe
pas convaincu: -p représente le numéro de port.
-W correspond au password (qui est d'ailleur facultatif) :wink:

de toutes manières pg_dump n'est pas une fonction php, donc tu ne pourra pas dumper ta base de cette façon.

Posté : 19 mai 2005, 20:45
par donny
je viens de me rendre compte, y parait qu il faut la dumper depuis l invite de commande.

Posté : 19 mai 2005, 21:21
par thierry
c'est pas bien de poster sur plusieurs forums donny.
après il y en a qui se fatiguent à répondre pour rien.
[-X
alors maintenant dis moi sur lequel tu veux que je te réponde :lol:

Posté : 19 mai 2005, 21:42
par donny
sur celui ci :wink:

Posté : 19 mai 2005, 22:47
par thierry
d'après ce que j'ai compris tu es sous windows avec postgres8.

pour faire un dump:
pg_dump nom_base -f chemin_fichier\fichier
ça c'est la commande de base.
pour des options (que les données, seulement la structure...) fait un pg_dump --help

pour que ça marche il faut que tu sois sous un utilisateur aux pouvoirs limités et de préférence propriétaire de la base que tu dump.

pour la restauration:
psql -f chemin\fichier nom_base
pour ce qui est de l'automatisation des tâches sous windows j'y connait pas grand chose mais tu peut regarder du côté du planificateur de tache ou même de cron voir visual cron.
si je me rappel bien un fichier .bat peut te permettre de lancer des commandes dos.

sinon tu as toujours phppgadmin.

Posté : 19 mai 2005, 22:54
par donny
Apparament in ne reconnait pas cette commande
C:\Program Files\PostgreSQL>pg_dump --help
'pg_dump' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Posté : 19 mai 2005, 23:07
par thierry
:boire9:

Posté : 19 mai 2005, 23:33
par donny
Pardon

Posté : 19 mai 2005, 23:39
par Cyrano
Juste une question en passant: as-tu jeté un oeil sur la doc de PostgreSQL ?

Posté : 20 mai 2005, 08:25
par donny
j y ai jeter un oeil, et si j y arriverais je serais pas la
le truc est que je lance pg_dump depuis msdos et il ne reconnait pas la commande et je pige pas

Posté : 20 mai 2005, 08:36
par Cyrano
Je ne l'ai jamais utilisé, il faudrait que je l'installe et que je procède à des essais, je peux pas apporter une aide bien efficace sinon. C'est peut-être une question de version, j'ai trouvé une doc pour une autre version après celle dont j'ai mis un lien plus haut, apparemment c'était la même commande, mais ça a pu évoluer.

Re: commande pg_dump

Posté : 13 oct. 2011, 21:50
par baradji ismaila
Salut,
voici les deux commandes quìl te faut avec msdos
backup
C:\Program Files\PostgreSQL\9.0\bin > pg_dump --host 127.0.0.1 --port 5432 -U postgres --format custom --blobs --verbose --f C:\projet\backupDB_wind_001.backup db_mabase

restoration
C:\Program Files\PostgreSQL\9.0\bin >pg_restore --host 127.0.0.1 --port 5432 -U postgres --d db_test --clean --verbose "C:\projet\backupDB_wind_001.backup"

ces codes marchent sur msdos, mais je n'arrive a lancer cela dans php avec le code ci-dessous.

<?PHP
chdir("c:\Program files\PostgreSQL\9.0\bin");
exec("pg_dump --host 127.0.0.1 --port 5432 -U postgres --format custom --blobs -f C:\projet\backupDB_wind_14.backup db_pk_v4")
?>

quelqu'un a une solution?

Re: commande pg_dump

Posté : 17 oct. 2011, 17:18
par baradji ismaila
solution php sur windows

<?PHP
$my_file = 'C:\projet_conception_bd\3_livrables\sauvegardes\fichier_message.txt';
$fp = fopen($my_file, "wb");
chdir("c:\Program files\PostgreSQL\9.0\bin");
$message = system('pg_dump --host 127.0.0.1 --port 5432 -U postgres --format custom -f C:\projet_conception_bd\3_livrables\sauvegardes\backupDB_wind_22.backup db_pk_v4', $retour);
if(!$retour) echo 'l\'execution s\'est mal passe';
write_file($my_file, $message);
?>