前置条件
- 能够使用具有复制权限的用户访问源 PostgreSQL 数据库。请按照与您的数据源对应的设置指南进行配置:
- 准备一个 ClickHouse Managed Postgres 服务作为迁移目标。如果您还没有,请参阅快速入门。
- 在本地计算机上安装
pg_dump和psql。两者都包含在标准 PostgreSQL 客户端工具中。
迁移前注意事项
- DDL 传播:持续复制 (CDC) 会捕获 DML 操作和
ADD COLUMN。其他 DDL 更改 (如DROP COLUMN和ALTER COLUMN) 不会自动传播,必须在目标端手动执行。
如果您在迁移过程中遇到问题,请查看 Managed Postgres Migrations FAQ,了解常见错误及其解决方案。
1
连接到源数据库
打开 ClickHouse Cloud 控制台,选择您的 Managed Postgres 服务。在左侧边栏中,点击 数据源。点击 开始导入。填写源 PostgreSQL 数据库的连接信息:主机、端口、用户名、密码和数据库名称。如果源数据库要求使用 TLS,请启用该选项。如果您需要通过私网连接访问源数据库,可以选择 SSH 隧道 并提供所需的 SSH 信息。这样,迁移便可安全连接到无法从公网访问的数据库。选择一种摄取方式:
- 初始加载 + CDC (变更数据捕获) — 先复制现有数据,然后持续将后续变更同步到目标端。
- 仅初始加载 — 一次性复制,不进行持续复制。
- 仅 CDC (变更数据捕获) — 跳过初始复制,仅复制从此刻开始产生的新变更。
2
导出数据库 schema
向导会显示一条已预填源连接信息的 这会在当前目录中创建
pg_dump 命令。在终端中运行它:pg.sql。点击 下一步。3
将 schema 导入您的 Managed Postgres 服务
从下拉列表中选择目标数据库,或点击 Create a new database 来创建新数据库。向导会显示一条 点击 下一步。
psql 命令,用于将 schema 转储导入您的 Managed Postgres 服务。在终端中运行它:4
配置摄取设置
指定用于逻辑复制的 publication。如果留空,系统会自动创建一个 publication。展开 高级复制设置 以调优吞吐量:
点击 下一步。
5
选择表
选择您要复制的表。表按 schema 分组。您可以选择单个表,或展开某个 schema 以选择其中的全部表。点击 Create migration。