Bonjour à tous,
Je cherche à faire proprement des exports de base PostgreSQL sur mon hébergement mutualisé et … je n'y arrive pas.
D'après un vieux tweet d'ovh_support_fr, pg_dump est accessible en ssh sur les offres pro, je suis passé en pro et je me heurte à du "pg_dump : commande introuvable".
Quand je demande au support technique ils me répondent "c'est normal, c'est parce que vous avez une base mysql"… Bah non, j'ai une base PostgreSQL !
En plus les sauvegardes depuis l'espace client ne fonctionnent pas non plus "(Internal call failed)" . Bref, quelqu'un a-t-il réussi à faire des sauvegardes de base PostgreSQL sans passer par phpPgAdmin ?
Merci ^^
Mickaël
Bonjour,
La commande n'est effectivement pas disponible en legacy, mais l'est en stable.
Configuré votre .ovhconfig pour avoir :
`container.image=stable`
Cdt,
Et ça marche !!!
Merci Ludo !!
Hello,
je suis confronté au même problème… la doc ovh pour les dumps postgres est presque inexistante. tout fait référence à SQL et quasiment jamais à Postgres
stp pourrais-tu préciser ce que l'on doit faire pour faire un dump d'une DB sur un FTP OVH via PHP ? aurais-tu un exemple de script qui fonctionne ?
en utilisant ce script, j'ai un fichier d'output vide… :
exec("pg_dump -h server_XXX -U user-XXX -p port_XXX -W password_XXX -d DB_name_XXX -t table_name_XXX > file_name_XXX.sql");
echo "Done";
?>
Mille mercis d'avance !!!
Guib
Il faut avoir activer l'environnement d'exécution stable.
Soit via le manager soit le Ovhconfig. Est ce fait ?
Bonjour Guillebert,
Il faut d'abord modifier "l'environnement d'exécution" pour le passer en stable et avoir accès aux commandes psql et pg_dump. Cette option est disponible avec l'option de version de PHP donc tu auras des infos ici : https://docs.ovh.com/fr/fr/web/hosting/mutualise-configurer-la-version-de-php-depuis-votre-espace-client/
Ensuite tu vérifies que tu as accès à la commande donc au lieu de faire un exec("pg_dump") tu peux commencer par un exec("which pg_dump") ou passthru("which psql").
Si tu as accès à la commande, ça devrait marcher. Ensuite tu peux voir pour mettre en place un fichier .pgpass ( http://docs.postgresqlfr.org/8.1/libpq-pgpass.html ).
Moi j'ai ça comme script :
> header("Content-Disposition: attachment; filename="export_database.sql.gz"");
> $DB="–username=xxx --dbname=xxx --host=xxx --port=xxx";
> passthru("pg_dump ${DB} -v -w | gzip");
Bon courage.