pg_dumpall

Name

pg_dumpall -- extrait toutes les bases PostgreSQL dans un fichier script

Synopsis

pg_dumpall [-c | --clean] [-g | --globals-only] [-h host] [-p port] [-U username] [-W]

Description

pg_dumpall est un utilitaire pour sauvegarder ("dumping") toutes les bases PostgreSQL d'un cluster dans un fichier script. Le fichier script contient les commandes SQL qui peuvent être utilisées en entrée vers psql(1) pour restaurer les bases. Il fait cela en appelant pg_dump (1) pour chaque base dans un cluster. pg_dumpall sauvegarde aussi les objets globaux qui sont communs à toutes les bases. (pg_dump n'a pas ces objets). Ceci inclut toute l'information sur les utilisateurs et les groupes de la base.

pg_dumpall est une solution intégrée pour sauvegarder vos bases. Mais notez une limitation : il ne peut sauvegarder les "objets longs", car pg_dump ne peut sauvegarder ces objets dans des fichiers texte. Si vous avez des bases contenant des objets longs, ils pouront être sauvegardés en utilisant les modes non texte de pg_dump.

Comme pg_dumpall lit les tables de toutes les bases vous aurez sans doute à vous connecter comme superutilisateur afin de produire une sauvegarde complète. De même vous aurez besoin des droits du superutilisateur pour exécuter le script sauvegardé afin de pouvoir ajouter des utilisateurs et des groupes, et pour créer des bases.

Le script SQL sera écrit vers la sortie standard. Les opérateurs shell pourront être utilisés pour la redirection vers un fichier.

Options

pg_dumpall accepte les arguments en ligne de commande suivants :

-c, --clean

Inclut les commandes SQL pour supprimer (drop) des objets de la base avant de les recréer. (Cette option est tout à fait pratique, car les scripts de sortie s'attendent à créer les bases eux-mêmes; ils seront toujours vides lors de la création).

-g, --globals-only

Sauvegarde seulement les objets globaux (utilisateurs et groupes), pas les bases.

-h host

Spécifie le nom d'hôte de la machine sur laquelle le serveur de la base tourne. Si l'hôte débute avec un slash, il est utilisé comme répertoire de socket de domaine Unix. Par défaut il est pris depuis la variable d'environnement PGHOST, si elle est placée, sinon une connexion de socket de domaine Unix est tentée.

-p port

Le numéro de port sur lequel le serveur est à l'écoute. Par défaut c'est la variable d'environnement PGPORT, si elle est placée, ou un natif par défaut.

-U username

Connexion en tant qu'utilisateur donné.

-W

Force le mot-de-passe au prompt. Ceci se fait automatiquement si le serveur nécessite une authentification par mot-de-passe.

Certains autres paramètres en logne de commande sont passés aux appels sous-jacents pg_dump (1). Ce qui est pratique pour contrôler certains aspects de format de sortie, mais certaines options comme -f, -t, et dbname seront évitées.

Exemples

Pour sauvegarder toutes les bases :

$ pg_dumpall > db.out

Pour recharger cette base utilisez, par exemple :

$ psql -f db.out template1
(Il n'est pas important de savoir à quelle base vous vous connectez ici car le fichier script créé par pg_dumpall contiendra les commandes appropriées pour créer et se connecter aux bases sauvegardées).

Voir aussi

pg_dump (1), psql(1). Vérifiez ici les détails sur les possibles erreurs conditionnelles.