En esta página, se describe cómo usar la herramienta pg_dump
para exportar una base de datos de AlloyDB a un archivo DMP de formato personalizado que puedes importar más adelante con la herramienta pg_restore
.
El procedimiento para realizar la exportación incluye las siguientes tareas:
Crea un bucket de Cloud Storage para almacenar el archivo DMP.
Prepara un host de cliente para realizar la operación de exportación.
Exporta la base de datos al archivo DMP.
Limpia los recursos que se crearon para realizar el procedimiento.
Antes de comenzar
- Debes tener el rol de IAM básico 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 (
Cree un bucket de Cloud Storage
Crea un bucket de Standard Storage o Regional Storage en el proyecto y la región en los que se ubica tu base de datos de AlloyDB.
Prepara un host de cliente
Para preparar un host cliente para realizar la operación de exportació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 pg_dump
y Google Cloud CLI en esa VM.
Sigue las instrucciones de Cómo conectar un cliente psql a una instancia para crear una VM de Compute Engine con la conectividad adecuada y la herramienta
pg_dump
instalada. Cuando sigas estas instrucciones, asegúrate de asignar suficiente almacenamiento local a la VM de Compute Engine para que acepte el archivo DMP que crearás.Instala gcloud CLI para proporcionar acceso a la línea de comandos y crear el archivo DMP en el bucket de Cloud Storage.
Exporta la base de datos
Para exportar la base de datos a un archivo DMP, obtienes la dirección IP de la
instancia principal de AlloyDB en la que se encuentra tu base de datos y, luego,
usas la herramienta pg_dump
.
- Consulta sus detalles para obtener la dirección IP de la instancia principal de AlloyDB en la que se encuentra tu base de datos.
- Conéctate a la VM de Compute Engine mediante SSH.
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 ssh
para conectarte a la instancia que creaste.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Reemplaza lo siguiente:
PROJECT_ID
: 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
- Exporta la base de datos a un archivo DMP:
pg_dump -h IP_ADDRESS -U postgres -F custom \ DB_NAME > DMP_FILE_NAME
Se te pedirá que ingreses la contraseña del usuario
postgres
.IP_ADDRESS
: Es la dirección IP de la instancia principal.-F custom
: Establece el formato del archivo DMP en un archivo de formato personalizado que puedes importar más adelante con la herramientapg_restore
.DB_NAME
: Es el nombre de la base de datos que deseas exportar.DMP_FILE_NAME
: Proporciona un nombre de archivo para el archivo DMP que se creará en el sistema de archivos local del host cliente.
En lo anterior, se muestra un comando
pg_dump
simple. Para obtener información sobre la amplia variedad de opciones que admite el comando, consulta la documentación de PostgreSQL. - Copia el archivo DMP en el bucket de Cloud Storage que creaste antes:
gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME
Limpia los recursos
Después de exportar correctamente el archivo DMP, puedes borrar la VM de Compute Engine que usaste durante el procedimiento de exportación.
¿Qué sigue?
- Obtén más información para exportar un archivo CSV.
- Obtén información para exportar un archivo de volcado de SQL.