Blog

Blog

Pg_restore

Pg_restore est un utilitaire en ligne de commandes qui permet d’importer tout ou partie d’une base de données postgreSQL.

Simple décompression

Pg_restore permet de décompresser les exports effectués avec l’option –Fc.
pg_restore –Fc –f <logFile> dumpFile

Import

Pg_restore peut aussi se connecter à une instance et restaurer une base de données à partir du fichier d’export. Pour se faire, il faut connaître a minima l’IP de service, le port et le user à utiliser.
pg_restore –h <host> -p <port> -U <user> -d <base> fichierDump
Si l’export a été créé avec l’option de compression –Fc (comme je vous conseille de faire), il faut utiliser l’option –Fc également avec pg_restore.
pg_restore –h <host> -p <port> -U <user> -d <base> -Fc fichierDump
Attention, le user et la base de données doivent avoir été créés au préalable.

Options avancées

Comme son cousin pg_dump, pg_restore supporte de nombreuses options qui permettent d’affiner l’import. Voici les principales :
-a n’importe que les données, les tables doivent déjà exister
-c supprime les objets de la base de données avant de les recréer
-n <schema> permet d’importer uniquement les objets du schéma spécifié
-s permet de définir les objets sans importer les données
-t <table> seule la table spécifiée est importée

Pour aller plus loin

La documentation complète de pg_restore est disponible ici :
8.1.5 : http://docs.postgresqlfr.org/8.1/app-pgrestore.html
8.3.3 : http://docs.postgresqlfr.org/8.3/app-pgrestore.html