Nom
pg_dumpall - Extrait un groupe de base de données PostgreSQL dans un fichier de script
Résumé
pg_dumpall [
option...
]
Description
pg_dumpall est un utilitaire pour écrire (« sauvegarder ») tout un groupe de base de données dans un fichier de script. Le fichier de script contient des commandes SQL qui peuvent être utilisées en entrée dans
psql(1) pour restaurer les bases de données. Ce programme fait ceci en appelant
pg_dump(1) pour chacune des bases de données appartenant au groupe.
pg_dumpall sauvegarde aussi les objets globaux communs à toutes les bases de données. (
pg_dump ne sauvegarde pas ces objets.) Ceci inclut actuellement les informations sur les utilisateurs et les groupes de la base de données,et les permissions d'accès qui s'appliquent aux bases de données dans leur ensemble.
Ainsi,
pg_dumpall est une solution intégrée de soutien pour vos bases de données. Mais il y a une limitation : Il ne peut pas sauvegarder les « objets larges », tout comme
pg_dump ne peut pas le faire aussi dans un fichier de texte. Si vous avez des bases de données contenant des objets larges, elles devraient être sauvegardées en utilisant un des modes de sortie au format non texte de
pg_dump.
Comme
pg_dumpall lit les tables de toutes les bases de données vous aurez probablement à vous connecter comme superutilisateur de base de données dans le but de produire une sauvegarde complète. Vous aurez besoin aussi des privilèges superutilisateurs pour exécuter les scripts de sauvegarde dans le but de pouvoir ajouter des utilisateurs et des groupes, et de créer des bases de données.
Le script SQL sera écrit sur la sortie standard. Les opérateurs Shell devraient être utilisés pour rediriger la sortie standard dans un fichier.
pg_dumpall a besoin de se connecter plusieurs fois au serveur PostgreSQL et peut vous demander un mot de passe à chaque fois. Il peut être commode d'avoir un fichier
$HOME/.pgpass dans ce genre de cas.
Options
Les lignes de commandes suivantes sont utilisées pour contrôler le contenu et le format de la sortie.
| --data-only Suavegarde les données seulement, pas le schéma (définition de la structure des données). |
| --clean Inclut les commandes SQL pour nettoyer (drop) les bases de données avant de les recréer. |
| --inserts Sauvegarde les données comme des commandes d'INSERT (au lieu d'une commande COPY). Cela produira une restauration très lente, mais réalisera une sortie plus portable à d'autres gestionnaires de bases de données. |
| --attribute-inserts Sauvegarde les données comme des commandes d'INSERT avec explicitement les noms de colonnes (INSERT INTO table (column, ...) VALUES &...). Cela produira une restauration très lente, mais cela est nécessaire pour réarranger l'ordre des colonnes. |
| --globals-only Ne sauvegarde que les objets globaux (utilisateurs et groupes), pas les bases de données. |
| --ignore-version Ignore les erreurs de version entre pg_dumpall et le serveur de base de données. pg_dumpall peut maintenir des bases de données de versions précédentes de PostgreSQL, mais les très vieilles versions ne sont plus supportées plus longtemps ( actuellement antérieure à la 7.0). utilisez cette option si vous avez besoin de passer outre les vérifications de version (et si pg_dumpall alors échoue, vous ne pourrez pas dire que vous n'aurez pas été prévenu). |
| --oids Sauvegarde les identifiants d'objets (OIDs) pour chaque table. Utilisez cette option si votre application référence les colonnes d'OID de n'importe quelle manière (par exemple, dans les contraintes de clés étrangères). Autrement, cette option ne devrait pas être utilisée. |
| --schema-only Sauvegarde seulement le schéma (definitions des données), pas les données. |
| --verbose Spécifie le mode parlant. Cela demandera à pg_dumpall d'afficher des messages de progression sur la sortie d'erreurs standard |
| --no-acl Empêche la sauvegarde les privilèges d'accès (commandes de grant/revoke). |
Les options de lignes de commandes suivantes contrôlent les paramètres de connection aux bases de données.
| -h host Spécifie le nom d'hôte de la machine sur laquelle la base de données tourne. Si la valeur commence par un slash, cela est utilisé comme un répertoire pour une connexion à un domaine Unix. La valeur par défaut est prise dans la variable d'environnement PGHOST, si elle est initialisée, sinon une connexion de type domaine Unix est tentée. |
| -p port Spécifie le port TCP ou l'extension de fichier de connection local au domaine Unix sur lequel le serveur écoute pour établir les connexions. La valeur par défaut se trouve dans la variable d'environnement PGPORT, si elle est initialisée, ou dans la variable spécifiée par défaut au moment de la compilation du serveur. |
| -U username Connecte comme l'utilisateur designé. |
| -W Force une invite de commande demandant le mot de passe. Cela peut se produire automatiquement si le serveur est paramètré pour demander des authentifications par mot de passe. |
Environnement
| PGUSER Paramètres de connexion par défaut |
Notes
Comme
pg_dumpall appelle
pg_dump en interne, quelques messages de diagnostic feront référence à
pg_dump.
Une fois restauré, il serait sage d'exécuter
ANALYZE sur chacune des bases de données ainsi l'optimiseur aurait des statistiques utiles. Vous pouvez aussi exécuter
vacuumdb -a -z pour analyser toutes les bases de données.
Exemples
Pour sauvegarder toutes les bases de données : .nf $
pg_dumpall > db.out .fi
Pour recharger ces mêmes bases de données, utilisez par exemple : .nf $
psql -f db.out template1 .fi (La base de données à laquelle vous vous connectez n'a pas d'importance ici, puisque le fichier de script créé par
pg_dumpall contriendra les commandes appropriées pour créer et se connecter aux bases de données sauvegardées.)
Voir aussi
pg_dump(1). Vérifiez là pour plus de détails sur de possibles conditions d'erreurs.
Traduction
Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.