导出 DMP 文件

本页介绍了如何使用 pg_dump 工具将 AlloyDB 数据库导出为自定义格式的归档 DMP 文件,以便您稍后使用 pg_restore 工具进行导入。

执行导出操作的流程涉及以下任务:

  1. 创建 Cloud Storage 存储桶以存储 DMP 文件。

  2. 准备客户端主机以执行导出操作。

  3. 将数据库导出到 DMP 文件。

  4. 清理执行该过程时创建的资源

准备工作

  • 您必须在所使用的 Google Cloud 项目中拥有 Owner (roles/owner) 或 Editor (roles/editor) 基本 IAM 角色,或者必须拥有以下预定义 IAM 角色:
    • AlloyDB 管理员 (roles/alloydb.admin) 或 AlloyDB 查看者 (roles/alloydb.viewer)
    • Storage Admin (roles/storage.admin)
    • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)

创建 Cloud Storage 存储桶

在您的 AlloyDB 数据库所在的项目和区域中创建一个 Standard Storage Regional Storage 存储桶

准备客户端主机

如需准备客户端主机以执行导出操作,您需要创建一个可连接到数据库所在的 AlloyDB 主实例的 Compute Engine 虚拟机,并在该虚拟机上安装 pg_dump 工具和 Google Cloud CLI。

  1. 按照将 psql 客户端连接到实例中的说明,创建具有适当连接性且安装了 pg_dump 工具的 Compute Engine 虚拟机。按照以下说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要创建的 DMP 文件。

  2. 安装 gcloud CLI,以便通过命令行访问 Cloud Storage 存储桶,在其中创建 DMP 文件。

导出数据库

如需将数据库导出到 DMP 文件,您需要获取数据库所在的 AlloyDB 主实例的 IP 地址,然后使用 pg_dump 工具。

  1. 通过查看其详细信息,获取您的数据库所在的 AlloyDB 主实例的 IP 地址。
  2. 通过 SSH 连接到 Compute Engine 虚拟机。

    控制台

    1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

      转到“虚拟机实例”

    2. 在虚拟机实例列表中,点击您创建的实例行中的 SSH

      实例名称旁边的 SSH 按钮。

    gcloud

    使用 gcloud compute ssh 命令连接到您创建的实例。

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    替换以下内容:

    • PROJECT_ID:包含实例的项目的 ID。
    • ZONE:实例所在可用区的名称。
    • VM_NAME:实例的名称。
  3. 将数据库导出到 DMP 文件:
    pg_dump -h IP_ADDRESS -U postgres -F custom \
      DB_NAME > DMP_FILE_NAME
    

    系统会提示您输入 postgres 用户的密码。

    • IP_ADDRESS:主实例的 IP 地址。
    • -F custom:将 DMP 文件的格式设置为自定义格式归档文件,以便您稍后使用 pg_restore 工具导入。
    • DB_NAME:要导出的数据库的名称。
    • DMP_FILE_NAME:为要在客户端主机的本地文件系统上创建的 DMP 文件提供文件名。

    上面展示了一个简单的 pg_dump 命令。如需了解该命令支持的各种选项,请参阅 PostgreSQL 文档

  4. 将 DMP 文件复制到您之前创建的 Cloud Storage 存储桶中:
    gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME

清理资源

成功导出 DMP 文件后,您可以删除导出过程中使用的 Compute Engine 虚拟机

后续步骤