Parfois, lors de la restauration d’une base de données multi-schéma à partir d’un fichier de sauvegarde, vous pouvez souhaiter exclure un ou plusieurs schémas, pour une raison ou une autre.

Par exemple, si vous restaurez une énorme base de données à des fins de développement, vous ne voudrez peut-être pas restaurer un schéma dont vous savez qu’il contient beaucoup de données, ce qui pourrait allonger le processus de restauration.

pg_restore l’utilitaire de ligne de commande permet d’exclure un ou plusieurs schémas lors de la restauration d’une base de données à partir d’un fichier de sauvegarde créé par pg_dump. Vous pouvez utiliser son -N ou --exclude-schema option pour restaurer des objets dans le schéma nommé.

PostgreSQLName prend en charge diverses fonctionnalités utiles de sauvegarde et de restauration de bases de données. Dans ce guide, nous montrerons comment exclure un schéma lors de la restauration d’un PostgreSQLName base de données multi-schéma à partir d’un fichier de sauvegarde.

Publicité

Exclure un schéma lors de la restauration d’une base de données PostgreSQL

Avant de démarrer le processus de restauration, si vous l’effectuez sur un nouveau serveur, assurez-vous que le propriétaire ou l’utilisateur de la base de données tel que défini dans la sauvegarde est créé sur le serveur :

$ pg_restore -d myappdb -N schema_name myappdb.dump
OR
$ pg_restore -d myappdb --exclude-schema=schema_name myappdb.dump

Dans la commande ci-dessus, le drapeau :

  • -d – est utilisé pour spécifier le nom de la base de données cible.
  • -N – spécifie le nom du schéma à exclure lors du processus de restauration.
  • myappdb.dump – est le nom du fichier de sauvegarde de la base de données. Notez que le fichier doit être dans l’un des formats de texte non brut tels que créés par pg_dump.

Pour exclure plusieurs schémas, utilisez plusieurs -N drapeaux comme indiqué.

$ pg_restore -d myappdb -N schema_name1 -N schema_name2 -N schema_name3 myappdb.dump
OR
$ pg_restore -d myappdb --exclude-schema=schema_name1 --exclude-schema=schema_name2 --exclude-schema=schema_name3 myappdb.dump

Tu peux dire pg_restore pour créer la base de données spécifiée par le -d option si elle n’existe pas, en utilisant l’option -C ou --create basculer comme suit :

$ pg_restore -d myappdb -C -N schema_name myappdb.dump
OR
$ pg_restore -d myappdb --create -N schema_name myappdb.dump

Vous devez noter qu’au cas où le -C switch est utilisé, comme dans la commande précédente, le nom de la base de données monappdb spécifié à l’aide de la -d Le commutateur n’est utilisé que pour exécuter le « SUPPRIMER LA BASE DE DONNÉES myappdb » et « CRÉER UNE BASE DE DONNÉES myappdb», toutes les données sont restaurées dans le nom de la base de données qui existe dans le fichier de sauvegarde.

Pour supprimer ou nettoyer et recréer la base de données cible avant de s’y connecter, utilisez la commande --clean comme indiqué.

$ pg_restore --clean -d testdb -n schema_name myappdb.dump

Par défaut, si une erreur survient lors de l’exécution du SQL commande pendant le processus de restauration, pg_restore poursuivra le processus et affichera simplement les erreurs.

Vous pouvez laisser pg-restauration terminer lorsqu’une erreur est rencontrée en ajoutant le -e ou --exit-on-error option:

$ pg_restore -e -d testdb -n schema_name myappdb.dump
OR
$ pg_restore --exit-on-error -d testdb -n schema_name myappdb.dump

Pour accélérer le processus de restauration, vous pouvez utiliser le -j ou --number-of-jobs pour fonctionner simultanément. Cette option garantit que des étapes telles que la création d’index, la création de contraintes ou le chargement de données seront exécutées simultanément à l’aide de sessions simultanées jusqu’au nombre spécifié de travaux.

Cependant, cela dépend fortement du nombre de cœurs de processeurs et de la configuration des disques sur le client, le serveur et le réseau :

$ pg_restore -j 4 --clean -d testdb -n schema_name myappdb.dump
OR
$ pg_restore --number-of-jobs=4 --clean -d testdb -n schema_name myappdb.dump

Vous pouvez en savoir plus sur pg_restore en consultant sa page de manuel comme indiqué.

$ man pg_restore

C’est tout ce que nous avions pour vous dans ce petit guide. Si vous avez des commentaires ou des questions, utilisez le formulaire de commentaires ci-dessous pour nous joindre.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentSalma Hayek expose son buste et parle de lap dance sensuelle
Article suivantHeartache and hard breaks in the algorithmic betting pool
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici