Backup et Restore¶
Tout les infos sur http://docs.postgresql.fr/9.1/backup.html
Sauvegarde SQL¶
pg_dump base_de_donnees > fichier_de_sortie
Warning
Lorsque votre base de données dépend des OID (par exemple en tant que clés étrangères), vous devez indiquer à pg_dump de sauvegarder aussi les OID. Pour cela, utilisez l’option -o sur la ligne de commande.
Restaurer la sauvegarde¶
sql base_de_donnees < fichier_d_entree
Une fois restauré, il est recommandé de lancer ANALYZE sur chacune des bases de données afin que l’optimiseur de requêtes dispose de statistiques utiles. Une façon aisée de le faire est de lancer la commande vacuumdb -a -z pour lancer ANALYZE sur toutes les bases de données ; ceci est équivalent à lancer VACUUM ANALYZE manuellement.
Il est possible de sauvegarder un base sur un serveur 1 et la restaurer sur un serveur 2
pg_dump -h serveur1 base_de_donnees | psql -h serveur2 base_de_donnees
Sauvegarde complet d’un serveur¶
pg_dumpall > fichier_de_sortie
restauration
psql -f fichier_d_entree postgres
Compression des sauvegardes¶
Vous pouvez utiliser votre programme de compression habituel. Par exemple gzip.
pg_dump base_de_donnees | gzip > nom_fichier.gz
Pour restaurer :
createdb base_de_donnees
gunzip -c nom_fichier.gz | psql base_de_donnees
il est possible par la suite de déplacer le fichier obtenu sur un serveur distant (windows par exemple)
su - postgres -c "pg_dump redmine_default" > redmine_default.sql
tar -cjf redmine_db.tar.gz redmine_default.sql
smbclient //srvpzdev/REDMINE -U administrateur%Numeid@1525$ -c 'put redmine_db.tar.gz'
Note
si vous êtes dans un domaine il faut modifier le fichier /etc/samba/smb.conf pour mettre workgroup=proplast par exemple