Cette page explique comment importer dans une base de données AlloyDB un fichier DMP créé par l'outil pg_dump
à l'aide du 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 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_restore
installé. Lorsque vous suivez ces instructions, assurez-vous d'allouer suffisamment de stockage local à la VM Compute Engine pour accueillir le fichier DMP que vous importez.Installez gcloud CLI pour accéder en ligne de commande au fichier DMP dans le bucket Cloud Storage.
Importer le fichier DMP
Pour importer le fichier DMP, obtenez 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 de l'instance que vous avez créée.
gcloud
Utilisez la commande
gcloud compute ssh
pour 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
DMP_FILE_NAME
: fichier DMP sur le système de fichiers local.TOC_FILE_NAME
: indiquez un nom de fichier pour le fichier TOC à 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
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_restore
fournit 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ée lors de la procédure d'importation.