Les sauvegardes avec PostgreSQL

PostgreSQL permet plusieurs types de sauvegarde :

  • La sauvegarde logique
  • La sauvegarde physique à chaud
  • La sauvegarde physique à froid

La sauvegarde logique

La méthode de sauvegarde la plus simple. Elle va extraire toutes la base de donnée dans un fichier remplis de requêtes SQL pour l'importer par la suite.
C'est la méthode la plus simple à mettre en oeuvre et convient aux petites bases de données (5-10Go) ayant très peu de requêtes (5 requêtes secondes max).
L'inconvénient de cette méthode est qu'elle verouille les tables durant toutes la durée de la sauvegarde est rend donc très peu utilisable la base de donnée.

Sauvegarder la base de donnée

Rien de plus simple

pg_dump dbname > /var/backup/dbname.dump

Restaurer une base de donnée

psql -U <username> -d <dbname> -1 -f <filename>.sql

Ou

pg_restore -U <username> -d <dbname> -1 <filename>.dump

La sauvegarde physique à chaud

Todo (tip, use pgbarman)

La sauvegarde physique à froid

Il s'agit de recupérer uniquement le contenu de /var/lib/postgresql/<version>/main/base avec rsync ou autre pendant que la base est éteinte.