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