Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je vous écris car je dois déplacer une base SQL d'un ordinateur à un autre. Je m'explique.
J'ai ramené du boulot une image de sauvegarde Acronis True Image que j'ai installé chez moi sur une machine virtuelle Virtual Box, afin de recréer mon environnement de travail et ... travailler pendant les vacances (heureusement qu'il pleut...)
Il s'agit d'un environnement Windows XP/Apache
Le logiciel que nous utilisons est une application "internet" qui tourne en local, apparemment sous Apache. On l'utilise depuis un navigateur internet, via une adresse http://localhost/...
Tout fonctionne bien depuis la machine virtuelle. L'importation de l'image de sauvegarde Acronis s'est déroulée sans problèmes. Le système tourne et j'ai pu travailler dessus.
Je me suis rendu compte que cette appli utilisait du SQL, apparemment Postgre SQL 8.2.
Comme je n'ai aucune idée de la façon d'exporter une base SQL et compte-tenu que les deux environnements sont identiques (au bureau et chez moi, sur la machine virtuelle), je pensais seulement faire une copie du dossier c:\program files\postgreSQL\8.2\data (en mode sans échec, pour éviter que les services ne soient démarrés), afin de récupérer les données que j'ai créées durant mes congés.
Est-ce tout bon ? Je n'ai rien oublié (postgreSQL a t-il d'autres répertoires dans lequel il enregistre ses données, style la BDR de Windows...)
NB : durant mes congés, au travail, la base n'a pas évoluée.
NB2 : je ne connais pas les identifiants administrateurs permettant de se connecter à la base.
Qu'en pensez-vous ? Pensez-vous que ça marchera ou est-ce de la folie pure ?
Merci par avance,
Hors ligne
Postgresql stocke ses données uniquement dans le répertoire data.
Cette manipulation devrait fonctionner (à priori votre machine virtuelle à la même architecture), mais il vous faudra stopper l'instance postgresql sur le poste à votre travail (sans doute via un service) avant de copier les données. Il suffit de faire de même sur votre machine virtuelle pour sauvegarder l'instance, pas besoin de redémarrer en mode sans échec.
Pour plus de sécurité, vous pouvez sauvegarder (ou renommer le répertoire data en data2) avant de mettre la sauvegarde pour s'assurer un retour en cas de problème.
Dernière modification par rjuju (06/11/2011 23:15:33)
Julien.
https://rjuju.github.io/
Hors ligne
Merci
Je suppose que je dois arrêter le service postgreSQL 8.2 database ?
Autre chose, entre temps, j'ai trouvé le mot de passe administrateur de la base. Croyez-vous qu'il soit mieux d'exporter la base proprement avec des outils comme pg_dump dont je n'ai aucune connaissance quant à ses modalités d'utilisation ?
(de plus au moment de l'import, ne risque t-il pas de me créer une 2eme base au lieu d'écraser l'existante)
merci
Hors ligne
Oui, ça doit être ce service.
Les 2 méthodes sont parfaitement viables. Si vous ne connaissez pas trop le dump et restore, la copie du répertoire data après arrêt du serveur est la plus simple (tant que vous êtes sur la même architecture des 2 cotés) et est un remplacement complet du serveur (toutes les bases de donnée, y compris donc les objets globaux tels que les utilisateurs etc).
Je vous conseillerai dans un deuxième temps de vous documenter sur les dump et restore qui permettent des récupérations partielles et autres opérations plus subtile qu'un remplacement complet de l'instance.
Julien.
https://rjuju.github.io/
Hors ligne
Je fais un retour pour vous indiquer que tout s'est très bien passé.
Merci pour vos conseils éclairés.
Hors ligne
Pages : 1