J'essaie de restaurer un pg_dump prise avec cette commande d'un autre serveur.
SELECT pg_size_pretty(pg_database_size('salesDB'));
3 Réponses :
Essayez-le sans le drapeau "-f" dans la commande pg_restore. De plus, vous voudrez peut-être essayer de créer la base de données vides de venteDB et de passer dans "-D SESCHESDB". Notez que le nom de base de données se pliera à minuscule sauf si elle a été créée dans des guillemets à double guillemets.
Exemple supplémentaire Étapes pour montrer que le DB pousse en taille car la restauration est en cours d'exécution P>
-- sample pg_dump command pg_dump -f testdb.out -Fc src_test_db -- create the db to restore into createdb sometestdb -- restore with 4 parallel jobs, from the "testdb.out" file, into the db "sometestdb" time pg_restore --dbname=sometestdb --jobs=4 testdb.out -- In another window, every few seconds, you can see the db growing psql -d postgres -c "select pg_size_pretty(pg_database_size('sometestdb'))" pg_size_pretty ---------------- 4920 MB psql -d postgres -c "select pg_size_pretty(pg_database_size('sometestdb'))" pg_size_pretty ---------------- 4920 MB psql -d postgres -c "select pg_size_pretty(pg_database_size('sometestdb'))" pg_size_pretty ---------------- 5028 MB psql -d postgres -c "select pg_size_pretty(pg_database_size('sometestdb'))" pg_size_pretty ---------------- 5371 MB
Ce que vous dites que je devrais voir la taille de la DB poussant à chaque fois que j'exécute la fonction pg_database_size pendant la restauration? Et jusqu'à ce que je vois que je ne l'ai pas correct?
@Wadejernigan, j'ai édité ma réponse pour montrer que la DB pousse pendant le pg_restore.
Résolu - Erreur de syntaxe Le paramètre -f est inutile autant que je puisse dire. Je devais spécifier le fichier pour pg_restore à consommer sans aucun indicateur, uniquement comme dernier élément de la ligne de commande. Le paramètre -D SalesDB était nécessaire. J'ai 16 CPU alors je mets -J 15, cela semblait être très utile. ma ligne de commande finale était
me semble comme si vous avez dit Personnellement, je pense que pg_restore code> d'imprimer le contenu de la décharge à l'écran, je ne la restauise pas à la base de données. Avez-vous spécifié un
- dbname code>? P>
pg_restore code> Syntaxe de ligne de commande de pg_restore n'est pas particulièrement intuitive, et si je reçois le temps, il s'agit d'une des choses que j'aimerais essayer de m'améliorer à PG. P >
Vous ne pouvez pas utiliser --DBName si vous spécifiez un -f (nom de fichier) mais oui, il semble que j'écris seulement à l'écran. Donc j'ai enlevé le commutateur -verbose. Maintenant, je n'ai rien sur l'écran depuis 14 heures et aucune preuve que la base de données augmente non plus. GRRR J'ai besoin d'un moyen de prouver que les données se rendent dans la base de données. Je vais essayer certaines déclarations de sélection. J'aurais aimé signaler une taille croissante.
Résolution - Erreur de syntaxe Le paramètre puis je reçois des incréments de taille très rapide avec la fonction Il en pousse comme si cela devrait. p> p> -f code> (
pg_restore code> pour consommer sans aucun drapeau, uniquement comme dernier élément de la ligne de commande. Le paramètre
SalesDB code> était nécessaire. J'ai 16 cpus donc je définir
-j 15 code>, cela semblait être très utile. Ma ligne de commande finale était
pg_database_size code>. p>
Je ne connais pas totalement comment ce forum fonctionne, mais pointez sur BMA. Il avait raison, merci.
Je pense que vous venez de "accepter" la réponse que vous avez choisi comme la bonne.
Sur une note latérale, félicitations pour avoir suivi la libération de patch actuelle. Je vois trop de 9.0.4 est autour d'ici.