本页面简要介绍了将数据迁入和迁出 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 迁移活跃实例
除了手动导入数据转储文件之外,您还可以使用 Database Migration Service for AlloyDB。借助此服务,您可以将活跃 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 存储桶中的文件: