Modèles de récupération pour PostgreSQL

Pour restaurer une base de données d'un fichier d'archive créé à l'aide de la commande pg_dump, utilisez la commande pg_restore. Veillez à tester vos modèles de sauvegarde et de récupération avec des bases de données de test.

Cette rubrique récapitule les étapes à suivre pour restaurer une base de données. Pour des instructions plus complètes, consultez la documentation PostgreSQL sur http://www.postgresql.org/docs/8.3/static/backup.html et http://www.postgresql.org/docs/8.3/static/app-pgrestore.html.

  1. Chaque nom de base de données devant être unique dans l'instance PostgreSQL, vous devez abandonner l'ancienne base de données.
    dropdb –U sde mypgdb 
  2. Créez de nouveau la base de données.
    RemarqueRemarque :

    Assurez-vous que la nouvelle base de données a les mêmes propriétés que celle que vous allez restaurer, notamment le nom, le codage et le propriétaire.

    createdb –U sde –E UTF8 –D gdbtablespace -O sde mypgdb
    
  3. Définissez la variable search_path sur la base de données recréée pour effectuer des recherches dans les structures utilisateur, publique et sde.

    Modifiez la base de données pour définir cette variable sur la ligne de commande.

    psql -U postgres mypgdb -c "alter database mypgdb set search_path = E'"$user"',public,sde;
  4. Restaurez la base de données à l'aide de la commande pg_restore.

    Vous devez exécuter la commande de restauration deux fois : une première fois pour restaurer le contenu de la structure publique et une deuxième fois pour restaurer le contenu de toutes les autres structures de la base de données.

    pg_restore -U sde -n public -d mygdb mypgdb1031.dump
    
    pg_restore –U sde –d mypgdb mypgdb1031.dump
ConseilConseil :

Si vous disposez de PostGIS et si vous utilisez le stockage de géométrie, lisez attentivement la documentation PostGIS concernant la création de sauvegardes et la restauration de bases de données. Cette procédure peut varier suivant la version de PostGIS que vous utilisez.

Rubriques associées


3/6/2012