skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

jeudi 31 décembre 2009

Transférer de serveur une BD PostgreSQL

Publié par Infinite Loop, à 10 h 36 0 commentaire

Dans un article publié récemment, j'exprimais le désir de retirer tous les éléments qui simulaient un serveur de développement sur mon ordinateur personnel pour les transférer sur une VM. De cette façon, je n'encombrerais pas mon PC et la VM serait plus facile à cloner pour faire des expérimentations.

À ce stade-ci, je compte bien faire une série d'articles qui couvre le sujet. Pour l'instant, ma configuration actuelle est :

  1. J'ai un poste de travail avec Windows XP où EasyPHP est installé (Apache, PHP). J'ai aussi une instance de PostgreSQL Windows que j'utilise à la place de MySQL.
  2. La machine virtuelle VMware est créée avec Ubuntu.
  3. Apache a été installé sur la VM pour l'utiliser comme serveur web.
  4. Je n'ai pas encore installé PHP sur la VM alors je continue à rouler EasyPHP sur mon poste hôte Windows.
  5. J'ai installé PostgreSQL sur la machine virtuelle ce qui veut dire que je suis prêt à transférer la base de données Postgres Windows vers la VM Linux pour ensuite retirer complètement toute trace de Postgres sur Windows. C'est ce que je vais faire aujourd'hui.
  6. Demain, j'expliquerai comment faire la connexion pour que le serveur PHP Windows sur lequel PHP et Apache roulent puisse accéder au serveur Postgres sur la machine virtuelle.
  7. Éventuellement, je transférerai aussi PHP vers la VM.
Ce qui veut dire que ma machine Windows continuera à être utilisée temporairement comme serveur web de développement (avec Netbeans, Apache, PHP) tant que tout ne sera pas transféré sur la VM. Présentement, seul le serveur PostgreSQL et la base de données seront déplacés vers la machine virtuelle.

Pour faire une copie de sauvegarde de la base de données (Windows), on peut simplement utiliser pgAdmin III, cliquer sur le bouton droit de la souris sur la BD en question, choisir Backup dans le menu contextuel et donner un nom de fichier, par exemple db.backup.

Ceci exécutera une commande similaire à :

pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f "db.backup" database_name

Ensuite, il faut transférer le fichier sur la machine virtuelle. Libre à vous de le copier sur une clé USB, vous l'envoyer par courriel (si le fichier n'est pas volumineux), etc.

Du côté de la machine virtuelle, on doit créer une nouvelle base de données vierge qui accueillera le backup. Voici un exemple de commande qui peut être exécutée par le terminal (il n'est pas nécessaire de se connecter à psql) :

createdb -h localhost -U postgres code18

Ici, code18 est le nom de la nouvelle base de données.

Ensuite, si pgAdmin III est installé sur le serveur (dans mon cas oui car c'en est un de développement mais ce n'est pas standard), il est possible de restaurer le fichier par l'interface graphique : click droit sur la nouvelle BD / Restore et choisir l'emplacement du fichier.

Sinon, on peut appliquer le script généré dans le backup par la commande :

psql -h localhost -U postgres code18 < /tmp/db.backup

On indique qu'il faut appliquer le script db.backup qu'on a placé dans le répertoire /tmp/ (pour faire simple) à la base de données nommée code18. Le reste est l'information de connexion (quel serveur, nom d'utilisateur).

Avec la configuration par défaut, il sera possible d'utiliser cette base de données localement, c'est-à-dire dans un environnement fermé sur la machine virtuelle. Demain, j'expliquerai comment se connecter à Postgres (VM Linux) à partir de PHP Windows.


Tags: PostgreSQL, Virtualisation

0 réponse à "Transférer de serveur une BD PostgreSQL"


Publier un commentaire

Message plus récent Messages plus anciens Accueil
S'abonner à : Publier des commentaires (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (56)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ▼  2009 (430)
      • ▼  décembre 2009 (32)
        • Transférer de serveur une BD PostgreSQL
        • Manipuler des fichiers PDF gratuitement
        • Calendrier Linux en septembre 1752
        • Fichier batch pour renommer les fichiers en lot
        • Palindrome mathématique
        • Comment fonctionne le modulo ?
        • Citation no. 62 sur les artistes
        • Film Pirates of Silicon Valley
        • Une surprise pour Noël
        • The Long Tail par Chris Anderson
        • L'informatique et King Kong Bundy
        • Origine du nom des notes de musique
        • Ordre de recherche dans les schémas PostgreSQL
        • Ce que veut dire Wiki
        • Citation no. 61 à propos de PHP et Perl
        • Fusionner des structures JSON avec jQuery
        • Game Boy sur Psycho-acoustic
        • Clone de la Nintendo Wii
        • Exclure les répertoires .svn de grep
        • Tag de version avec TortoiseSVN
        • Compte à rebours 2010 de Google
        • État de santé - repos forcé à mes doigts
        • Citation no. 60 sur la complexité
        • jPod de Douglas Coupland
        • Simuler unnest() avant Postgres 8.4
        • Démo d'injection SQL sur MySQL
        • Jeu caché dans Gnome (GEGL)
        • Citation no. 59 sur le café
        • Le plus beau gars du Québec
        • Thème Windows XP sur Ubuntu : ça marche!
        • Invitation à un cocktail de Microsoft
        • Défilement sur Google Maps
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (37)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft