Scroll to navigation

PG_DUMPALL(1) Applications Clientes de PostgreSQL PG_DUMPALL(1)

NOM

pg_dumpall - Extrait un groupe de base de données PostgreSQL dans un fichier de script

SYNOPSIS

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.

Suavegarde les données seulement, pas le schéma (définition de la structure des données).
Inclut les commandes SQL pour nettoyer (drop) les bases de données avant de les recréer.
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.
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.
Ne sauvegarde que les objets globaux (utilisateurs et groupes), pas les bases de données.
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).

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.
Sauvegarde seulement le schéma (definitions des données), pas les données.
Spécifie le mode parlant. Cela demandera à pg_dumpall d'afficher des messages de progression sur la sortie d'erreurs standard
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.

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.
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.
Connecte comme l'utilisateur designé.
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

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 :

$ pg_dumpall > db.out

Pour recharger ces mêmes bases de données, utilisez par exemple :

$ psql -f db.out template1

(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.

AVERTISSEMENT SUR LA 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.

2003-11-02 Application