Créez vos dumps avec
pg_dump -Fc -Z 9 --file=file.dump myDb
Fc
Produit une archive personnalisée qui peut être introduite dans pg_restore. C'est le format le plus flexible car il permet de réordonner les données de chargement ainsi que les définitions d'objets. Ce format est également compressé par défaut.
Z 9: --compress=0..9
Indique le niveau de compression à utiliser. Zéro signifie qu'il n'y a pas de compression. Pour le format d'archive personnalisé, cela spécifie la compression de segments individuels de données de table, et la valeur par défaut est de compresser à un niveau modéré. Pour le texte brut, un niveau de compression différent de zéro entraîne la compression de l'ensemble du fichier de sortie, comme s'il était passé par gzip ; mais la valeur par défaut est de ne pas compresser. Le format d'archive tar ne prend actuellement pas en charge la compression.
et le restaurer avec
pg_restore -Fc -j 8 file.dump
-j: --jobs=number-of-jobs
Exécutez les parties de pg_restore qui prennent le plus de temps - celles qui chargent les données, créent des index ou des contraintes - en utilisant plusieurs tâches simultanées. Cette option permet de réduire considérablement le temps nécessaire à la restauration d'une base de données volumineuse sur un serveur fonctionnant sur une machine multiprocesseur.
Chaque travail est un processus ou un thread, selon le système d'exploitation, et utilise une connexion distincte au serveur.
La valeur optimale de cette option dépend de la configuration matérielle du serveur, du client et du réseau. Le nombre de cœurs de l'unité centrale et la configuration du disque sont autant de facteurs à prendre en compte. Le nombre de cœurs de CPU sur le serveur est un bon point de départ, mais des valeurs plus élevées peuvent également conduire à des temps de restauration plus rapides dans de nombreux cas. Bien entendu, des valeurs trop élevées entraîneront une baisse des performances en raison de l'effet de balayage.
Seuls les formats d'archives personnalisées et de répertoires sont pris en charge par cette option. L'entrée doit être un fichier ou un répertoire normal (pas, par exemple, un tuyau). Cette option est ignorée lorsque l'on émet un script au lieu de se connecter directement à un serveur de base de données. De même, il n'est pas possible d'utiliser plusieurs tâches en même temps que l'option --single-transaction.
Liens :
pg_dump
pg_restore