本页面简要介绍了将数据迁入和迁出 AlloyDB for PostgreSQL 的方法。
正在导入数据
您可以通过以下两种方法将数据迁移到 AlloyDB:
手动导入包含您数据的文件。
使用 Google Cloud Database Migration Service 将整个处于活动状态的 PostgreSQL 实例的内容迁移到新的 AlloyDB 集群。
从文件导入归档数据
借助 AlloyDB,您可以从位于 Cloud Storage 存储桶中的文件导入数据。AlloyDB 支持多种数据导入文件格式,包括:
CSV,每个文件包含一个表的内容,使用
psql
加载。DMP,整个 PostgreSQL 数据库的二进制归档文件,使用
pg_restore
导入。SQL:PostgreSQL 数据库的纯文本重构,使用
psql
处理。
使用 Database Migration Service 迁移处于活动状态的实例
除了手动导入数据转储文件之外,您还可以使用 适用于 AlloyDB 的 Database Migration Service。借助此服务,您可以将处于活动状态的 PostgreSQL 实例的全部内容(包括其所有数据库和元数据)迁移到新的 AlloyDB 集群。Database Migration Service 可以帮助您将现有应用迁移到使用 AlloyDB 作为其新的数据存储区,从而最大限度地缩短停机时间。
导入数据支持的语言区域
AlloyDB 支持以下语言区域:
- ICU 提供的完整语言区域集。
libc
提供的一组有限的语言区域:C.UTF-8
en_US.utf8
如果您要导入到 AlloyDB 的数据库默认采用的 libc
语言区域不是这里列出的两个,您仍然可以导入数据,但该默认设置不会保留。为确保使用 ORDER BY
的 SQL 查询正确对其结果进行排序,您可能需要在导入数据后执行其他步骤。
我们建议您允许新数据库使用 AlloyDB 的默认语言区域:libc
提供的 C.UTF-8
。然后,将排序规则与应用的查询可能涉及的 ORDER BY
子句中的任何列相关联,为每个列指定基于 ICU 的适当排序规则。您可以通过 ALTER TABLE
DDL 查询执行此操作,例如:
ALTER TABLE TABLE_NAME
ALTER COLUMN COLUMN_NAME
SET DATA TYPE COLUMN_DATA_TYPE
COLLATE "COLLATION_NAME";
新的 AlloyDB 集群会根据 ICU 提供的语言区域定义数百种排序规则,您还可以使用 PostgreSQL CREATE COLLATION
设施添加更多排序规则。如需查看在 AlloyDB 集群上定义的基于 ICU 的排序规则名称的完整列表,请对其任何实例运行以下查询:
SELECT collname FROM pg_collation WHERE collprovider = 'i';
除了基于 ICU 的排序规则之外,AlloyDB 还支持名为 ucs_basic
的 PostgreSQL 内置排序规则。此排序规则使用 Unicode 字符点的标准顺序,可实现极其高效的排序。我们建议将其与排序顺序与 Unicode 代码点列表相符的列搭配使用。
导出数据
您可以使用命令行实用程序将 AlloyDB 数据以各种格式导出到存储在 Cloud Storage 存储桶中的文件中: