Académique Documents
Professionnel Documents
Culture Documents
1. pg_dump
pg_dump est un outil qui permet de créer une copie d’une bases de données sur le
serveur. Considérez-le comme ‘vider les fichiers objets d’une seule base de données
dans un nouveau fichier. À la fin de ce processus, un nouveau fichier est créé qui est
interprétable par l’homme (rempli de commandes SQL).Les sauvegardes réalisées sont
cohérentes. pg_dump ne bloque pas l'accès des autres utilisateurs (ni en lecture ni en
écriture).
Après avoir créer la base de données ipcomdb, on a crée une table client et nous avons
inséré des données dans la table client.
Nous allons sauvegarder notre base de données PostgreSQL (ipcomdb) dans un script ou
tout autre fichier d'archive .
exemple , si on veut faire la sauvegarde sur une machine distante alors, on doit juste
préciser le nom de la machine (host) et le port :
Nous allons archiver notre base de données ipcomdb dans un fichier tar :
postgres@server-ipcom:~$ pg_dump -Ft -b ipcomdb > ipcomdb1.tar
postgres@server-ipcom:~$ less ipcomdb1.tar
Pour sauvegarder une base de données dans une archive au format répertoire :
postgres@server-ipcom:~$ pg_dump -Fd ipcomdb -f rep_ipcomdb
-Fd ipcomdb -f rep_ipcomdb Après avoir archive notre base de donnés dans un format
répertoire, nous allons visualiser le contenu de notre répertoire, on remarque qu’on a
deux fichiers 2172 .dat.gz et toc.dat
On tape « y » pour pouvoir visualiser le fichier toc.dat ,nous avons exactement les
même informations de la base de données ipcomdb.
2. pg_dumpall
pg_dumpall est un outil d'extraction (« sauvegarde ») de toutes les bases de données
PostgreSQL d'une grappe vers un fichier script. Celui-ci contient les commandes SQL
utilisables pour restaurer les bases de données avec psql. Cela est obtenu en appelant
pg_dump pour chaque base de données de la grappe. pg_dumpall sauvegarde aussi les
objets globaux, communs à toutes les bases de données. (pg_dump ne sauvegarde pas
ces objets.) Cela inclut aussi les informations concernant les utilisateurs et les groupes
des bases de données, ainsi que les tablespaces et les propriétés telles que les droits
d'accès s'y appliquant.
- Pg_dumpall permet de faire le backup intégrale de l’instance, en incluant aussi les
utilisateurs, par contre cette fonctionnalité qui prend en compte les utilisateurs et
d’autres éléments ne se trouvent pas sur pg_dump .
Les options suivantes, en ligne de commande, contrôlent le contenu et le format
de la sortie.
p : port
--data-only : Uniquement les data.
--roles-only : Sauvegarde seulement les rôles.
--schema-only : Seulement la structure (Shema)
NB : la liste des options n’est pas exhaustive, on peut utiliser plusieurs options cela
dépend juste de notre besoin.
Nous allons Sauvegarder notre base de données ipcomdb dans un script SQL,
ipcomdb_dumpall.sql.
L’outil pg_dumpall nous permet de voir les informations globale de la base données, on
peut bel et bien voir dans le fichiers ipcomdb_backup.sql les utilisateurs disponible
dans la base de données, dans notre cas , on a deux utilisateurs : ipcom et postgres .
Nous allons faire la sauvegarde des data de la base de données ipcomdb, ici seules les
pg_restore
pg_restore est un outil qui permet de restaurer une base de données PostgreSQL à partir
d'une archive créée par pg_dump dans un des formats non textuel .Il lance les
commandes nécessaires pour reconstruire la base de données dans l'état où elle était
au moment de sa sauvegarde. Les fichiers d'archive permettent aussi à pg_restore d'être
sélectif sur ce qui est restauré ou même de réordonner les éléments à restaurer. Les
fichiers d'archive sont conçus pour être portables entre les architectures.
pg_restore peut opérer dans deux modes. Si un nom de base de données est spécifié,
pg_restore se connecte à cette base de données et restaure le contenu de l'archive
directement dans la base de données. Sinon, un script contenant les commandes SQL
nécessaires pour reconstruire la base de données est créé et écrit dans un fichier ou sur
la sortie standard. La sortie du script est équivalente à celles créées par le format en
texte plein de pg_dump. Quelques-unes des options contrôlant la sortie sont du coup
analogues aux options de pg_dump.
De toute évidence, pg_restore ne peut pas restaurer l'information qui ne se trouve pas
dans le fichier d'archive. Par exemple, si l'archive a été réalisée en utilisant l'option
donnant les « données sauvegardées par des commandes INSERT », pg_restore ne sera
pas capable de charger les données en utilisant des instructions COPY.
On liste les bases de données pour voir si la base de données ipcomdb est bien
supprimée, on constate que la base de données ipcomdb est supprimée.
A présent nous allons restore notre base de données ipcomdb que nous avons supprimée.
Une fois lancée la commande de restauration, on aperçoit que la base données qu’on
vient juste de supprimer est réapparue avec les données .
On va se connecter dans notre base de données ipcomdb pour vérifier les données. On
constate que