Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PostgreSQL Discussion :

Duplication de bases de données


Sujet :

PostgreSQL

  1. #1
    Membre extrêmement actif
    Duplication de bases de données
    Bonjour,

    Voilà, je développe un ERP en interne actuellement. Pour cela, j'ai créé une base PostGreSQL (que je modifie et complète au fur et à mesure du dév - c'est fou comme on croit avoir tout prévu et que finalement, on se rend compte qu'on aurait pu faire autrement et mieux ).

    Je souhaite demander à certains utilisateurs "clef" de tester le logiciel au fur et à mesure de son développement. Pour cela, j'aimerais disposer de plusieurs bases. Une base de dev, pour moi, une base de test pour les utilisateurs, et la base finale réelle, qui elle ne sera pas utilisée pour le moment.

    Comment est-ce que je peux simplement copier ma base de dev dans la base de test ?
    Et, comment, faire, par exemple pour copier une table de la base de test, vers la base réelle (pour éviter de perdre des données statiques qui seront renseignées obligatoirement dans la base de tests, et qui seront les mêmes pour la base réelles, et éviter que les utilisateurs doivent les resaisir) ?

    Merci d'avance pour vos réponses avisées.

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Modérateur

    Si les bases ont des structures identiques, une opération de sauvegarde des données de la base source et restauration dans la base cible est le plus simple à mettre en oeuvre
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Membre extrêmement actif
    Merci de ta réponse.

    Juste une précision. Est-ce qu'avec des Dump/Restore ça suffit, où il faut faire autrement ?

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  4. #4
    Rédacteur/Modérateur

    Bonjour,

    pg_dump et pg_restore sont les outils tout désignés pour faire ça.
    Si vous regardez la documentation de pg_dump, vous verrez qu'il y a une option -t qui permet de préciser la table qu'on souhaite sauvegarder dans le dump. À répéter autant de fois dans la commande pg_dump qu'il y a de tables à sauvegarder en même temps.
    Si ça fait trop de table, vous pouvez faire l'inverse avec l'option -T qui indique qu'il faut exclure une table de la sauvegarde.
    À vous de voir quel est le plus simple en fonction du schéma de votre base.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre extrêmement actif
    Merci.
    Je vais abuser... Y a-t-il un moyen de préciser que l'on veut TOUTES les tables ?

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  6. #6
    Rédacteur

    Par défaut c'est toutes.

    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  7. #7
    Membre extrêmement actif
    OK, merci.

    Je viens de tester et ça fonctionne.

    Merci à vous tous..

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...