本页介绍了如何使用 pg_dump
工具将 AlloyDB 数据库导出为自定义格式的归档 DMP 文件,以便您稍后使用 pg_restore
工具进行导入。
执行导出操作的流程涉及以下任务:
创建 Cloud Storage 存储桶以存储 DMP 文件。
准备客户端主机以执行导出操作。
将数据库导出到 DMP 文件。
准备工作
- 您必须在所使用的 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
)
- AlloyDB 管理员 (
创建 Cloud Storage 存储桶
在您的 AlloyDB 数据库所在的项目和区域中创建一个 Standard Storage Regional Storage 存储桶。
准备客户端主机
如需准备客户端主机以执行导出操作,您需要创建一个可连接到数据库所在的 AlloyDB 主实例的 Compute Engine 虚拟机,并在该虚拟机上安装 pg_dump
工具和 Google Cloud CLI。
按照将 psql 客户端连接到实例中的说明,创建具有适当连接性且安装了
pg_dump
工具的 Compute Engine 虚拟机。按照以下说明操作时,请务必为 Compute Engine 虚拟机分配足够的本地存储空间,以容纳您要创建的 DMP 文件。安装 gcloud CLI,以便通过命令行访问 Cloud Storage 存储桶,在其中创建 DMP 文件。
导出数据库
如需将数据库导出到 DMP 文件,您需要获取数据库所在的 AlloyDB 主实例的 IP 地址,然后使用 pg_dump
工具。
- 通过查看其详细信息,获取您的数据库所在的 AlloyDB 主实例的 IP 地址。
- 通过 SSH 连接到 Compute Engine 虚拟机。
控制台
- 在 Google Cloud 控制台中,前往虚拟机实例页面。
- 在虚拟机实例列表中,点击您创建的实例行中的 SSH。
gcloud
使用
gcloud compute ssh
命令连接到您创建的实例。gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
替换以下内容:
PROJECT_ID
:包含实例的项目的 ID。ZONE
:实例所在可用区的名称。VM_NAME
:实例的名称。
- 将数据库导出到 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 文档。 - 将 DMP 文件复制到您之前创建的 Cloud Storage 存储桶中:
gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME
清理资源
成功导出 DMP 文件后,您可以删除导出过程中使用的 Compute Engine 虚拟机。
后续步骤
- 了解如何导出 CSV 文件。
- 了解如何导出 SQL 转储文件。