Para restablecer un archivo de base de datos binario en un clúster de AlloyDB para PostgreSQL, puedes
importar un archivo DMP creado por la herramienta pg_dump con el formato custom o
directory.
Para importar un archivo creado por la herramienta pg_dump con el formato plain, consulta
Importa un archivo SQL.
El procedimiento para realizar la importación incluye estas tareas:
Sube el archivo DMP a un bucket de Cloud Storage.
Prepara un host de cliente para realizar la operación de importación.
Importar el archivo DMP a la base de datos
Limpia los recursos creados para realizar el procedimiento.
Antes de comenzar
- Debes tener el rol básico de IAM de propietario (
roles/owner) o editor (roles/editor) en el proyecto de Google Cloud que usas, o bien debes tener estos roles de IAM predefinidos:- Administrador de AlloyDB (
roles/alloydb.admin) o Visualizador de AlloyDB (roles/alloydb.viewer) - Administrador de almacenamiento (
roles/storage.admin) - Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1)
- Administrador de AlloyDB (
Sube el archivo DMP
Para subir el archivo DMP, debes crear un bucket de Cloud Storage y, luego, subir el archivo al bucket.
Crea un bucket de Standard Storage o Regional Storage en el proyecto y la región en que se ubica tu base de datos de AlloyDB.
Sube el archivo DMP al bucket de almacenamiento que creaste.
Prepara un host de cliente
Para preparar un host de cliente que realice la operación de importación, crea una
VM de Compute Engine que pueda conectarse a la instancia principal de AlloyDB
en la que se encuentra tu base de datos y, luego, instala la herramienta de pg_restore y
Google Cloud CLI en esa VM.
Sigue las instrucciones para conectar un cliente psql a una instancia y crear una VM de Compute Engine con la conectividad adecuada y la herramienta
pg_restoreinstalada. Cuando sigas estas instrucciones, asegúrate de asignar suficiente almacenamiento local a la VM de Compute Engine para alojar el archivo DMP que estás importando.Instala gcloud CLI para proporcionar acceso de línea de comandos al archivo DMP en el bucket de Cloud Storage.
Importa el archivo DMP
Para importar el archivo DMP, obtén la dirección IP de la instancia principal de AlloyDB
en la que se encuentra tu base de datos y, luego, usa la herramienta pg_restore
para importar el archivo a la base de datos.
- Para obtener la dirección IP de la instancia principal de AlloyDB en la que se encuentra tu base de datos, consulta sus detalles.
- Establece una conexión SSH a la VM de Compute Engine.
Console
- En la consola de Google Cloud , ve a la página Instancias de VM.
- En la lista de instancias de máquina virtual, haz clic en SSH en
la fila de la instancia que creaste.

gcloud
Usa el comando
gcloud compute sshpara conectarte a la instancia que creaste.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto que contiene la instancia.ZONE: Es el nombre de la zona en la que se encuentra la instancia.VM_NAME: El nombre de la instancia
- Copia el archivo DMP en el sistema de archivos local del host cliente:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Ejecuta el siguiente comando para crear un archivo TOC que marque como comentario todas las sentencias
EXTENSION:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
Reemplaza lo siguiente:
DMP_FILE_NAME: Es el archivo DMP en el sistema de archivos local.TOC_FILE_NAME: Proporciona un nombre para el archivo TOC que se creará en el sistema de archivos local.
- Importa el archivo DMP:
pg_restore -h IP_ADDRESS -U postgres \ -d DB_NAME \ -L TOC_FILE_NAME \ DMP_FILE_NAME
Reemplaza lo siguiente:
IP_ADDRESS: Es la dirección IP de la instancia principal.DB_NAME: Es el nombre de la base de datos a la que se importará.TOC_FILE_NAME: Es el archivo TOC que creaste en el paso anterior.DMP_FILE_NAME: Es el archivo DMP.
El comando
pg_restoreproporciona varias opciones adicionales para controlar la operación de importación de datos.
Limpia los recursos
Después de importar correctamente el archivo DMP, puedes borrar el bucket de Cloud Storage y la VM de Compute Engine que usaste durante el procedimiento de importación.