Pour restaurer une archive de base de données binaire dans un cluster AlloyDB pour PostgreSQL, vous pouvez importer un fichier DMP créé par l'outil pg_dump au format custom ou directory.
Pour importer un fichier créé par l'outil pg_dump au format plain, consultez Importer un fichier SQL.
La procédure d'importation implique les tâches suivantes :
Importez le fichier DMP dans un bucket Cloud Storage.
Préparez un hôte client pour effectuer l'opération d'importation.
Importez le fichier DMP dans la base de données.
Nettoyez les ressources créées pour effectuer la procédure.
Avant de commencer
- Vous devez disposer du rôle IAM de base Propriétaire (
roles/owner) ou Éditeur (roles/editor) dans le projet Google Cloud que vous utilisez, ou vous devez disposer des rôles IAM prédéfinis suivants :- Administrateur AlloyDB (
roles/alloydb.admin) ou Lecteur AlloyDB (roles/alloydb.viewer) - Administrateur de l'espace de stockage (
roles/storage.admin) - Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1)
- Administrateur AlloyDB (
Importer le fichier DMP
Pour importer le fichier DMP, créez un bucket Cloud Storage, puis importez-y le fichier DMP.
Créez un bucket de stockage régional pour le stockage standard dans le projet et la région où se trouve votre base de données AlloyDB.
Importez le fichier DMP dans le bucket de stockage que vous avez créé.
Préparer un hôte client
Pour préparer un hôte client à effectuer l'opération d'importation, vous devez créer une VM Compute Engine pouvant se connecter à l'instance principale AlloyDB où se trouve votre base de données, puis installer l'outil pg_restore et la Google Cloud CLI sur cette VM.
Suivez les instructions de la section Connecter un client psql à une instance pour créer une VM Compute Engine avec la connectivité appropriée et l'outil
pg_restoreinstallé. Lorsque vous suivez ces instructions, veillez à allouer suffisamment d'espace de stockage local à la VM Compute Engine pour accueillir le fichier DMP que vous importez.Installez gcloud CLI pour fournir un accès en ligne de commande au fichier DMP dans le bucket Cloud Storage.
Importer le fichier DMP
Pour importer le fichier DMP, récupérez l'adresse IP de l'instance principale AlloyDB où se trouve votre base de données, puis utilisez l'outil pg_restore pour importer le fichier dans la base de données.
- Obtenez l'adresse IP de l'instance principale AlloyDB où se trouve votre base de données en affichant ses détails.
- Connectez-vous en SSH à la VM Compute Engine.
Console
- Dans la console Google Cloud , accédez à la page Instances de VM.
- Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne correspondant à l'instance que vous avez créée.

gcloud
Utilisez la commande
gcloud compute sshpour vous connecter à l'instance que vous avez créée.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID du projet contenant l'instance.ZONE: nom de la zone dans laquelle se trouve l'instance.VM_NAME: nom de l'instance
- Copiez le fichier DMP dans le système de fichiers local de l'hôte client :
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Exécutez la commande suivante pour créer un fichier TOC qui met en commentaire toutes les instructions
EXTENSION:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
Remplacez les éléments suivants :
DMP_FILE_NAME: fichier DMP sur le système de fichiers local.TOC_FILE_NAME: indiquez un nom pour le fichier de table des matières à créer sur le système de fichiers local.
- Importez le fichier DMP :
pg_restore -h IP_ADDRESS -U postgres \ -d DB_NAME \ -L TOC_FILE_NAME \ DMP_FILE_NAME
Remplacez les éléments suivants :
IP_ADDRESS: adresse IP de l'instance principale.DB_NAME: nom de la base de données dans laquelle importer les données.TOC_FILE_NAME: fichier TOC que vous avez créé à l'étape précédente.DMP_FILE_NAME: fichier DMP.
La commande
pg_restorefournit plusieurs options supplémentaires pour contrôler l'opération d'importation de données.
Effectuer un nettoyage des ressources
Une fois le fichier DMP importé, vous pouvez supprimer le bucket Cloud Storage et la VM Compute Engine que vous avez utilisés lors de la procédure d'importation.