Cómo exportar un archivo de DMP

Para crear un archivo binario portátil de una base de datos de AlloyDB para PostgreSQL que puedas restablecer más adelante con la herramienta pg_restore, puedes exportar tu base de datos a un archivo DMP de formato personalizado con pg_dump.

El procedimiento para realizar la exportación incluye las siguientes tareas:

  1. Crea un bucket de Cloud Storage para almacenar el archivo DMP.

  2. Prepara un host de cliente para realizar la operación de exportación.

  3. Exportar la base de datos al archivo DMP

  4. 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)

Cree un bucket de Cloud Storage

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.

Prepara un host de cliente

Para preparar un host de cliente que realice 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 de pg_dump y Google Cloud CLI en esa VM.

  1. 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_dump instalada. Cuando sigas estas instrucciones, asegúrate de asignar suficiente almacenamiento local a la VM de Compute Engine para alojar el archivo DMP que crearás.

  2. Instala gcloud CLI para proporcionar acceso de línea de comandos para 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, 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_dump.

  1. Para obtener la dirección IP de la instancia principal de AlloyDB en la que se encuentra tu base de datos, consulta sus detalles.
  2. Establece una conexión SSH a la VM de Compute Engine.

    Console

    1. En la consola de Google Cloud , ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. En la lista de instancias de máquina virtual, haz clic en SSH en la fila de la instancia que creaste.

      Botón SSH junto al nombre de la instancia.

    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: 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
  3. 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 solicitará que ingreses la contraseña del usuario postgres.

    Reemplaza lo siguiente:

    • 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 herramienta pg_restore.
    • DB_NAME: Es el nombre de la base de datos que quieres exportar.
    • DMP_FILE_NAME: Proporciona un nombre para el archivo DMP que se creará en el sistema de archivos local del host cliente.

    Para obtener información sobre las opciones adicionales que admite el comando pg_dump, consulta la documentación de PostgreSQL pg_dump.

  4. 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?