En esta página se describe cómo importar a una base de datos de AlloyDB un archivo DMP creado por la herramienta pg_dump
con el formato custom
o directory
.
Para importar un archivo creado con la herramienta pg_dump
en formato plain
, consulta Importar un archivo SQL.
Para realizar la importación, debes llevar a cabo las siguientes tareas:
Sube el archivo DMP a un depósito de Cloud Storage.
Prepara un host de cliente para realizar la operación de importación.
Importa el archivo de la plataforma de gestión de datos a la base de datos.
Elimina los recursos que has creado para llevar a cabo el procedimiento.
Antes de empezar
- Debes tener el rol básico de gestión de identidades y accesos Propietario (
roles/owner
) o Editor (roles/editor
) en el Google Cloud proyecto que estés usando, o bien debes tener estos roles de gestión de identidades y accesos predefinidos:- Administrador de AlloyDB (
roles/alloydb.admin
) o Lector de AlloyDB (roles/alloydb.viewer
) - Administrador de almacenamiento (
roles/storage.admin
) - Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
)
- Administrador de AlloyDB (
Subir el archivo DMP
Para subir el archivo DMP, crea un segmento de Cloud Storage y, a continuación, sube el archivo DMP a ese segmento.
Crea un segmento de Standard Storage o Regional Storage en el proyecto y la región en los que se encuentre tu base de datos de AlloyDB.
Sube el archivo de la plataforma de gestión de datos al segmento de almacenamiento que has creado.
Preparar un host de cliente
Para preparar un host cliente para realizar la operación de importación, crea una máquina virtual de Compute Engine que pueda conectarse a la instancia principal de AlloyDB en la que se encuentra tu base de datos e instala la herramienta pg_restore
y la CLI de Google Cloud en esa máquina virtual.
Sigue las instrucciones de la sección Conectar un cliente psql a una instancia para crear una VM de Compute Engine con la conectividad adecuada y la herramienta
pg_restore
instalada. Cuando sigas estas instrucciones, asegúrate de asignar suficiente almacenamiento local a la VM de Compute Engine para que quepa el archivo DMP que vas a importar.Instala gcloud CLI para proporcionar acceso desde la línea de comandos al archivo DMP en el segmento de Cloud Storage.
Importar el archivo de la DMP
Para importar el archivo DMP, obtenga la dirección IP de la instancia principal de AlloyDB en la que se encuentra su base de datos y, a continuación, utilice la herramienta pg_restore
para importar el archivo en la base de datos.
- Obtén la dirección IP de la instancia principal de AlloyDB en la que se encuentra tu base de datos. Para ello, consulta sus detalles.
- Accede a la máquina virtual de Compute Engine mediante SSH.
Consola
- En la consola de Google Cloud , ve a la página Instancias de VM.
- En la lista de instancias de máquinas virtuales, haz clic en SSH en la fila de la instancia que has creado.
gcloud
Usa el comando
gcloud compute ssh
para conectarte a la instancia que has creado.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto que contiene la instancia.ZONE
: 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 del cliente:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Ejecuta el siguiente comando para crear un archivo TOC que comente todas las instrucciones
EXTENSION
:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
DMP_FILE_NAME
: el archivo DMP del sistema de archivos local.TOC_FILE_NAME
: proporciona un nombre de archivo para el archivo TOC que se va a 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
IP_ADDRESS
: la dirección IP de la instancia principal.DB_NAME
: nombre de la base de datos en la que se va a importar.TOC_FILE_NAME
: el archivo TOC que has creado en el paso anterior.DMP_FILE_NAME
: el archivo DMP.
El
pg_restore
comando proporciona varias opciones adicionales para controlar la importación de datos.
Eliminar los recursos
Una vez que hayas importado el archivo DMP correctamente, puedes eliminar el bucket de Cloud Storage y la VM de Compute Engine que hayas usado durante el procedimiento de importación.